summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-06 18:37:25 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-06 18:37:25 +0000
commitdbb28acc0f9e5f34c9db326a5cf13d35e081fbd7 (patch)
tree3e63fd7698ceb5418813feeaf0bff5089266fb09 /gcc
parent867af57235a3fb7e4204fd40c9a3e52d077ebe18 (diff)
downloadgcc-dbb28acc0f9e5f34c9db326a5cf13d35e081fbd7.tar.gz
PR debug/11816
* dwarf2out.c (gen_decl_die): Handle anonymous struct members. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77411 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19454ac442e..ebedd173db8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
+ PR debug/11816
+ * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
+
+2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
+
* cfganal.c (flow_call_edges_add): Never split a libcall block.
2004-02-06 Daniel Berlin <dberlin@dberlin.org>
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 468b6dd628e..68698730c99 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12192,9 +12192,10 @@ gen_decl_die (tree decl, dw_die_ref context_die)
case FIELD_DECL:
/* Ignore the nameless fields that are used to skip bits but handle C++
- anonymous unions. */
+ anonymous unions and structs. */
if (DECL_NAME (decl) != NULL_TREE
- || TREE_CODE (TREE_TYPE (decl)) == UNION_TYPE)
+ || TREE_CODE (TREE_TYPE (decl)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE)
{
gen_type_die (member_declared_type (decl), context_die);
gen_field_die (decl, context_die);