summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-15 17:41:35 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-15 17:41:35 +0000
commit0fd8641ba37d0bc749971a289e02c19f56b85819 (patch)
tree176af36ed24310b3ba88c8936113ecf1ca26773a
parent8f11972177207d5544e9429df44c386a187777f2 (diff)
downloadppe42-gcc-0fd8641ba37d0bc749971a289e02c19f56b85819.tar.gz
ppe42-gcc-0fd8641ba37d0bc749971a289e02c19f56b85819.zip
PR debug/9039
* dwarf2out.c (gen_decl_die): Ignore frontend tree codes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64412 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/dwarf2out.c3
-rw-r--r--gcc/testsuite/g++.dg/debug/anonunion1.C14
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2a73783cee6..447cf7b9729 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2003-03-15 Jason Merrill <jason@redhat.com>
+ PR debug/9039
+ * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
+
PR debug/6387
* dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
function DIEs at toplevel.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index e31fcb878d3..fec07a76bd5 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12194,6 +12194,9 @@ gen_decl_die (decl, context_die)
break;
default:
+ if ((int)TREE_CODE (decl) > NUM_TREE_CODES)
+ /* Probably some frontend-internal decl. Assume we don't care. */
+ break;
abort ();
}
}
diff --git a/gcc/testsuite/g++.dg/debug/anonunion1.C b/gcc/testsuite/g++.dg/debug/anonunion1.C
new file mode 100644
index 00000000000..c48a8cdc131
--- /dev/null
+++ b/gcc/testsuite/g++.dg/debug/anonunion1.C
@@ -0,0 +1,14 @@
+// PR debug/9039
+// Verify that the debugging backends don't get confused by ALIAS_DECLs.
+
+int foo()
+{
+ union
+ {
+ int z;
+ unsigned int w;
+ };
+
+ w = 0;
+ return 0;
+}
OpenPOWER on IntegriCloud