You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.0 KiB
114 lines
4.0 KiB
commit c413c44801e449f1f0b9828b81770e752b8219af |
|
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com> |
|
Date: Tue Sep 6 17:30:13 2016 +0200 |
|
|
|
Remove TYPE_NOSIGN "char" hack |
|
|
|
init_type (and arch_integer_type) currently use a special hack to set the |
|
TYPE_NOSIGN flag if the type name is exactly "char". This commit moves the |
|
hack up to the callers of those routines. |
|
|
|
The special case currently can hit only for types created from dwarf2read, |
|
but read_base_type actually implements the "char" check itself, so it is |
|
redundant to do it in init_type as well. (Note that stabsread.c and the |
|
other type readers always pass NULL as name to init_type, so the special |
|
case can never hit for those.) |
|
|
|
A few other cases create pre-definded types with a hard-coded name of "char"; |
|
the commit simply moves setting the TYPE_NOSIGN flag to those places. |
|
|
|
No functional change intended. |
|
|
|
gdb/ChangeLog: |
|
|
|
* gdbtypes.c (init_type): Remove "char" special case. |
|
(arch_integer_type): Likewise. |
|
(gdbtypes_post_init): Set TYPE_NOSIGN for "char" type. |
|
(objfile_type): Likewise. |
|
* mdebugread.c (basic_type): Likewise. |
|
* stabsread.c (rs6000_builtin_type): Likewise. |
|
|
|
Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com> |
|
|
|
### a/gdb/ChangeLog |
|
### b/gdb/ChangeLog |
|
## -1,5 +1,14 @@ |
|
2016-09-05 Ulrich Weigand <uweigand@de.ibm.com> |
|
|
|
+ * gdbtypes.c (init_type): Remove "char" special case. |
|
+ (arch_integer_type): Likewise. |
|
+ (gdbtypes_post_init): Set TYPE_NOSIGN for "char" type. |
|
+ (objfile_type): Likewise. |
|
+ * mdebugread.c (basic_type): Likewise. |
|
+ * stabsread.c (rs6000_builtin_type): Likewise. |
|
+ |
|
+2016-09-05 Ulrich Weigand <uweigand@de.ibm.com> |
|
+ |
|
* gdbtypes.h (enum type_flag_value): Remove. |
|
Remove references to TYPE_FLAG_... in comments throughout. |
|
* gdbtypes.c (recursive_dump_type): Do not print TYPE_FLAG_... |
|
Index: gdb-7.6.1/gdb/gdbtypes.c |
|
=================================================================== |
|
--- gdb-7.6.1.orig/gdb/gdbtypes.c 2017-03-11 21:26:51.526852141 +0100 |
|
+++ gdb-7.6.1/gdb/gdbtypes.c 2017-03-11 21:27:01.268920712 +0100 |
|
@@ -2137,11 +2137,6 @@ |
|
|
|
TYPE_NAME (type) = name; |
|
|
|
- /* C++ fancies. */ |
|
- |
|
- if (name && strcmp (name, "char") == 0) |
|
- TYPE_NOSIGN (type) = 1; |
|
- |
|
return type; |
|
} |
|
|
|
@@ -4060,8 +4055,6 @@ |
|
t = arch_type (gdbarch, TYPE_CODE_INT, bit / TARGET_CHAR_BIT, name); |
|
if (unsigned_p) |
|
TYPE_UNSIGNED (t) = 1; |
|
- if (name && strcmp (name, "char") == 0) |
|
- TYPE_NOSIGN (t) = 1; |
|
|
|
return t; |
|
} |
|
@@ -4305,6 +4298,7 @@ |
|
builtin_type->builtin_char |
|
= arch_integer_type (gdbarch, TARGET_CHAR_BIT, |
|
!gdbarch_char_signed (gdbarch), "char"); |
|
+ TYPE_NOSIGN (builtin_type->builtin_char) = 1; |
|
builtin_type->builtin_signed_char |
|
= arch_integer_type (gdbarch, TARGET_CHAR_BIT, |
|
0, "signed char"); |
|
@@ -4448,6 +4442,7 @@ |
|
objfile_type->builtin_char |
|
= init_integer_type (objfile, TARGET_CHAR_BIT, |
|
!gdbarch_char_signed (gdbarch), "char"); |
|
+ TYPE_NOSIGN (objfile_type->builtin_char) = 1; |
|
objfile_type->builtin_signed_char |
|
= init_integer_type (objfile, TARGET_CHAR_BIT, |
|
0, "signed char"); |
|
Index: gdb-7.6.1/gdb/mdebugread.c |
|
=================================================================== |
|
--- gdb-7.6.1.orig/gdb/mdebugread.c 2017-03-11 21:26:51.527852149 +0100 |
|
+++ gdb-7.6.1/gdb/mdebugread.c 2017-03-11 21:27:01.269920719 +0100 |
|
@@ -1380,6 +1380,7 @@ |
|
|
|
case btChar: |
|
tp = init_integer_type (objfile, 8, 0, "char"); |
|
+ TYPE_NOSIGN (tp) = 1; |
|
break; |
|
|
|
case btUChar: |
|
Index: gdb-7.6.1/gdb/stabsread.c |
|
=================================================================== |
|
--- gdb-7.6.1.orig/gdb/stabsread.c 2017-03-11 21:26:51.529852163 +0100 |
|
+++ gdb-7.6.1/gdb/stabsread.c 2017-03-11 21:27:01.271920733 +0100 |
|
@@ -2102,6 +2102,7 @@ |
|
break; |
|
case 2: |
|
rettype = init_integer_type (objfile, 8, 0, "char"); |
|
+ TYPE_NOSIGN (rettype) = 1; |
|
break; |
|
case 3: |
|
rettype = init_integer_type (objfile, 16, 0, "short");
|
|
|