From bda200a0b50aef2fd78711a2bf91aa4e2ae63ade Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Wed, 20 Oct 2010 21:11:20 +0000 Subject: [PATCH] Merge from trunk, r11450 (support for DW_ATE_UTF from DWARF4) git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_6_BRANCH@11464 --- coregrind/m_debuginfo/priv_d3basics.h | 2 ++ coregrind/m_debuginfo/readdwarf3.c | 1 + 2 files changed, 3 insertions(+) diff --git a/coregrind/m_debuginfo/priv_d3basics.h b/coregrind/m_debuginfo/priv_d3basics.h index 75fcb46a46..b6703e9b31 100644 --- a/coregrind/m_debuginfo/priv_d3basics.h +++ b/coregrind/m_debuginfo/priv_d3basics.h @@ -372,6 +372,8 @@ typedef enum DW_ATE_signed_fixed = 0xd, DW_ATE_unsigned_fixed = 0xe, DW_ATE_decimal_float = 0xf, + /* DWARF 4. */ + DW_ATE_UTF = 0x10, /* HP extensions. */ DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */ DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */ diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c index b2fb1a74e4..fa046cab50 100644 --- a/coregrind/m_debuginfo/readdwarf3.c +++ b/coregrind/m_debuginfo/readdwarf3.c @@ -2149,6 +2149,7 @@ static void parse_type_DIE ( /*MOD*/XArray* /* of TyEnt */ tyents, if (attr == DW_AT_encoding && ctsSzB > 0) { switch (cts) { case DW_ATE_unsigned: case DW_ATE_unsigned_char: + case DW_ATE_UTF: /* since DWARF4, e.g. char16_t from C++ */ case DW_ATE_boolean:/* FIXME - is this correct? */ typeE.Te.TyBase.enc = 'U'; break; case DW_ATE_signed: case DW_ATE_signed_char: -- 2.47.2