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
This commit is contained in:
Jakub Jelinek 2010-06-21 18:29:51 +02:00 committed by Jakub Jelinek
parent 2e1e8c5d7a
commit f0057424da
4 changed files with 23 additions and 0 deletions

View File

@ -1,5 +1,8 @@
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.
* genattrtab.c: Include vecprim.h.
(cached_attrs, cached_attr_count, attrs_seen_once,

View File

@ -12377,6 +12377,20 @@ base_type_die (tree type)
switch (TREE_CODE (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_UNSIGNED (type))

View File

@ -1,3 +1,7 @@
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>
* plugin.h (ld_plugin_add_input_file, ld_plugin_add_input_library):

View File

@ -654,6 +654,8 @@ enum dwarf_type
DW_ATE_signed_fixed = 0xd,
DW_ATE_unsigned_fixed = 0xe,
DW_ATE_decimal_float = 0xf,
/* DWARF 4. */
DW_ATE_UTF = 0x10,
DW_ATE_lo_user = 0x80,
DW_ATE_hi_user = 0xff,