summaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-05 18:08:12 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-05 18:08:12 +0000
commit76d1c62dbe2dbde567f8fa950bfddc5ecd8cd87d (patch)
tree89fe51052af3f94cf74cc07ba5c6aef4be3641c2 /gcc/dwarf2out.c
parenta3b0e823572c79774c37e5421857904544dc98c7 (diff)
downloadgcc-76d1c62dbe2dbde567f8fa950bfddc5ecd8cd87d.tar.gz
* dwarf2out.c (loc_descriptor_from_tree): Return 0 for
language-specific tree codes. * gcc.dg/debug/20030605-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67505 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index e64932941ac..dd0ee35b3ca 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -9033,6 +9033,14 @@ loc_descriptor_from_tree (loc, addressp)
break;
default:
+ /* Leave front-end specific codes as simply unknown. This comes
+ up, for instance, with the C STMT_EXPR. */
+ if ((unsigned int) TREE_CODE (loc)
+ >= (unsigned int) LAST_AND_UNUSED_TREE_CODE)
+ return 0;
+
+ /* Otherwise this is a generic code; we should just lists all of
+ these explicitly. Aborting means we forgot one. */
abort ();
}