Commit f0057424 by Jakub Jelinek Committed by Jakub Jelinek

dwarf2.h (enum dwarf_type): Add DW_ATE_UTF.

	* dwarf2.h (enum dwarf_type): Add DW_ATE_UTF.

	* dwarf2out.c (base_type_die): Use DW_ATE_UTF for
	C++ char16_t and char32_t.

From-SVN: r161095
parent 2e1e8c5d
2010-06-21 Jakub Jelinek <jakub@redhat.com> 2010-06-21 Jakub Jelinek <jakub@redhat.com>
* dwarf2out.c (base_type_die): Use DW_ATE_UTF for
C++ char16_t and char32_t.
* Makefile.in (build/genattrtab.o): Depend on vecprim.h. * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
* genattrtab.c: Include vecprim.h. * genattrtab.c: Include vecprim.h.
(cached_attrs, cached_attr_count, attrs_seen_once, (cached_attrs, cached_attr_count, attrs_seen_once,
......
...@@ -12377,6 +12377,20 @@ base_type_die (tree type) ...@@ -12377,6 +12377,20 @@ base_type_die (tree type)
switch (TREE_CODE (type)) switch (TREE_CODE (type))
{ {
case INTEGER_TYPE: case INTEGER_TYPE:
if ((dwarf_version >= 4 || !dwarf_strict)
&& TYPE_NAME (type)
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& DECL_IS_BUILTIN (TYPE_NAME (type))
&& DECL_NAME (TYPE_NAME (type)))
{
const char *name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
if (strcmp (name, "char16_t") == 0
|| strcmp (name, "char32_t") == 0)
{
encoding = DW_ATE_UTF;
break;
}
}
if (TYPE_STRING_FLAG (type)) if (TYPE_STRING_FLAG (type))
{ {
if (TYPE_UNSIGNED (type)) if (TYPE_UNSIGNED (type))
......
2010-06-21 Jakub Jelinek <jakub@redhat.com>
* dwarf2.h (enum dwarf_type): Add DW_ATE_UTF.
2010-06-18 Rafael Espindola <espindola@google.com> 2010-06-18 Rafael Espindola <espindola@google.com>
* plugin.h (ld_plugin_add_input_file, ld_plugin_add_input_library): * plugin.h (ld_plugin_add_input_file, ld_plugin_add_input_library):
......
...@@ -654,6 +654,8 @@ enum dwarf_type ...@@ -654,6 +654,8 @@ enum dwarf_type
DW_ATE_signed_fixed = 0xd, DW_ATE_signed_fixed = 0xd,
DW_ATE_unsigned_fixed = 0xe, DW_ATE_unsigned_fixed = 0xe,
DW_ATE_decimal_float = 0xf, DW_ATE_decimal_float = 0xf,
/* DWARF 4. */
DW_ATE_UTF = 0x10,
DW_ATE_lo_user = 0x80, DW_ATE_lo_user = 0x80,
DW_ATE_hi_user = 0xff, DW_ATE_hi_user = 0xff,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment