From 7d445f153d2937b96ccdde7c6acde3f0996564ed Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 5 Jun 2003 11:08:12 -0700 Subject: [PATCH] dwarf2out.c (loc_descriptor_from_tree): Return 0 for language-specific tree codes. * dwarf2out.c (loc_descriptor_from_tree): Return 0 for language-specific tree codes. * gcc.dg/debug/20030605-1.c: New. From-SVN: r67505 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2out.c | 8 ++++++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/debug/20030605-1.c | 7 +++++++ 4 files changed, 24 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/debug/20030605-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be404bf..a332e9cb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-05-06 Richard Henderson + + * dwarf2out.c (loc_descriptor_from_tree): Return 0 for + language-specific tree codes. + 2003-06-05 John David Anglin PR middle-end/9986 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index e649329..dd0ee35 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 (); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9781d57..ca874aa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-06-05 Richard Henderson + + * gcc.dg/debug/20030605-1.c: New. + 2003-06-04 Mark Mitchell * README.QMTEST: Update. diff --git a/gcc/testsuite/gcc.dg/debug/20030605-1.c b/gcc/testsuite/gcc.dg/debug/20030605-1.c new file mode 100644 index 0000000..548faaf --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/20030605-1.c @@ -0,0 +1,7 @@ +/* Verify we don't ICE on statement-expressions. */ +/* { dg-do compile } */ + +void foo(void) +{ + char buf[({ 4; })]; +} -- 2.7.4