diff options
author | Jason Merrill <jason@redhat.com> | 2003-03-15 12:41:35 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2003-03-15 12:41:35 -0500 |
commit | ae0e598210b587bef1e9aaceaf54ffb21c5017d9 (patch) | |
tree | 176af36ed24310b3ba88c8936113ecf1ca26773a /gcc | |
parent | bac06cd3c4f3b42d335b42b0c67d58f10222d12e (diff) | |
download | gcc-ae0e598210b587bef1e9aaceaf54ffb21c5017d9.zip gcc-ae0e598210b587bef1e9aaceaf54ffb21c5017d9.tar.gz gcc-ae0e598210b587bef1e9aaceaf54ffb21c5017d9.tar.bz2 |
re PR debug/9039 (ICE, anonymous union, gen_decl_die, dwarf2out.c:11974)
PR debug/9039
* dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
From-SVN: r64412
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/anonunion1.C | 14 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a73783..447cf7b 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 e31fcb8..fec07a7 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 0000000..c48a8cd --- /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; +} |