diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-05-10 22:17:37 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-05-10 22:17:37 +0000 |
commit | e580d8ee5945c1d40c0e684acaf1d54f2317c360 (patch) | |
tree | c3a36f44db116111b006f663717fd9c66d1d81e5 /gcc | |
parent | 7b84aac03c4375c97843d5435f8548482028fa7a (diff) | |
download | gcc-e580d8ee5945c1d40c0e684acaf1d54f2317c360.zip gcc-e580d8ee5945c1d40c0e684acaf1d54f2317c360.tar.gz gcc-e580d8ee5945c1d40c0e684acaf1d54f2317c360.tar.bz2 |
dwarf2out.c (add_byte_size_attribute): Handle variable reference as size attribute.
* dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable
reference as size attribute.
From-SVN: r187384
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 856c675..2a27835 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ 2012-05-10 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable + reference as size attribute. + +2012-05-10 Eric Botcazou <ebotcazou@adacore.com> Tristan Gingold <gingold@adacore.com> * doc/md.texi (Standard Names): Document probe_stack_address. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 7460bbf..1e5e335 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -15156,6 +15156,7 @@ add_subscript_info (dw_die_ref type_die, tree type, bool collapse_p) static void add_byte_size_attribute (dw_die_ref die, tree tree_node) { + dw_die_ref decl_die; unsigned size; switch (TREE_CODE (tree_node)) @@ -15167,6 +15168,12 @@ add_byte_size_attribute (dw_die_ref die, tree tree_node) case RECORD_TYPE: case UNION_TYPE: case QUAL_UNION_TYPE: + if (TREE_CODE (TYPE_SIZE_UNIT (tree_node)) == VAR_DECL + && (decl_die = lookup_decl_die (TYPE_SIZE_UNIT (tree_node)))) + { + add_AT_die_ref (die, DW_AT_byte_size, decl_die); + return; + } size = int_size_in_bytes (tree_node); break; case FIELD_DECL: |