diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-06-21 18:29:51 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-06-21 18:29:51 +0200 |
commit | f0057424da31008bc4e1f97802160db6ff5a5e34 (patch) | |
tree | cc820f508c3e77bd486eae7090bdd9a97c671d69 /gcc | |
parent | 2e1e8c5d7a0816021f450fc158441452993e9477 (diff) | |
download | gcc-f0057424da31008bc4e1f97802160db6ff5a5e34.zip gcc-f0057424da31008bc4e1f97802160db6ff5a5e34.tar.gz gcc-f0057424da31008bc4e1f97802160db6ff5a5e34.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95491cc..ba9f4b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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, diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b1f05d9..7a7eb22 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -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)) |