diff options
Diffstat (limited to 'gdb/dwarf2/read.c')
-rw-r--r-- | gdb/dwarf2/read.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 737d8a4..57538fc 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -18261,16 +18261,7 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) break; case DW_ATE_UTF: { - if (bits == 16) - type = builtin_type (arch)->builtin_char16; - else if (bits == 32) - type = builtin_type (arch)->builtin_char32; - else - { - complaint (_("unsupported DW_ATE_UTF bit size: '%d'"), - bits); - type = dwarf2_init_integer_type (cu, objfile, bits, 1, name); - } + type = init_character_type (objfile, bits, 1, name); return set_die_type (die, type, cu); } break; @@ -18290,7 +18281,9 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) break; } - if (name && strcmp (name, "char") == 0) + if (type->code () == TYPE_CODE_INT + && name != nullptr + && strcmp (name, "char") == 0) type->set_has_no_signedness (true); maybe_set_alignment (cu, die, type); |