FT32 makes use of multiple address spaces.
FT32 makes use of multiple address spaces. When trying to inspect objects in GDB, GDB was treating them as a straight "const". The cause seems to be in GCC DWARF2 output. This output is handled in gcc/gcc/dwarf2out.c, where modified_type_die() checks that TYPE has qualifiers CV_QUALS. However while TYPE has ADDR_SPACE qualifiers, the modified_type_die() explicitly discards the ADDR_SPACE qualifiers. This patch retains the ADDR_SPACE qualifiers as modified_type_die() outputs the DWARF type tree. This allows the types to match, and correct type information for the object is emitted. [gcc] 2017-11-06 James Bowman <james.bowman@ftdichip.com> * gcc/dwarf2out.c (modified_type_die): Retain ADDR_SPACE qualifiers. (add_type_attribute) likewise. From-SVN: r254484
This commit is contained in:
parent
853c0dfba2
commit
a297ccb52e
2 changed files with 9 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-11-06 James Bowman <james.bowman@ftdichip.com>
|
||||
|
||||
* gcc/dwarf2out.c (modified_type_die): Retain ADDR_SPACE
|
||||
qualifiers.
|
||||
(add_type_attribute) likewise.
|
||||
|
||||
2017-11-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
|
||||
|
|
|
@ -12481,7 +12481,8 @@ modified_type_die (tree type, int cv_quals, bool reverse,
|
|||
dw_die_ref mod_scope;
|
||||
/* Only these cv-qualifiers are currently handled. */
|
||||
const int cv_qual_mask = (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE
|
||||
| TYPE_QUAL_RESTRICT | TYPE_QUAL_ATOMIC);
|
||||
| TYPE_QUAL_RESTRICT | TYPE_QUAL_ATOMIC |
|
||||
ENCODE_QUAL_ADDR_SPACE(~0U));
|
||||
const bool reverse_base_type
|
||||
= need_endianity_attribute_p (reverse) && is_base_type (type);
|
||||
|
||||
|
@ -20708,7 +20709,7 @@ add_type_attribute (dw_die_ref object_die, tree type, int cv_quals,
|
|||
return;
|
||||
|
||||
type_die = modified_type_die (type,
|
||||
cv_quals | TYPE_QUALS_NO_ADDR_SPACE (type),
|
||||
cv_quals | TYPE_QUALS (type),
|
||||
reverse,
|
||||
context_die);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue