PR c++/12709
* c-common.c (finish_fname_decls): Use the chain only if the
tree is an expr_stmt.
2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/12709
* g++.dg/parse/try-catch-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75814
138bc75d-0d04-0410-961f-
82ee72b054a4
+2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/12709
+ * c-common.c (finish_fname_decls): Use the chain only if the
+ tree is an expr_stmt.
+
2004-01-13 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def: Add comment about new option in automata_option.
tree *p = &DECL_SAVED_TREE (current_function_decl);
/* Skip the dummy EXPR_STMT and any EH_SPEC_BLOCK. */
while (TREE_CODE (*p) != COMPOUND_STMT)
- p = &TREE_CHAIN (*p);
+ {
+ if (TREE_CODE (*p) == EXPR_STMT)
+ p = &TREE_CHAIN (*p);
+ else
+ p = &TREE_OPERAND(*p, 0);
+ }
+
p = &COMPOUND_BODY (*p);
if (TREE_CODE (*p) == SCOPE_STMT)
p = &TREE_CHAIN (*p);
+2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c++/12709
+ * g++.dg/parse/try-catch-1.C: New test.
+
2004-01-13 Arnaud Charlet <charlet@act-europe.fr>
* ada/acats/run_all.sh: Add more verbose output in acats.log
--- /dev/null
+// Test case from: <ncm-nospam@cantrip.org>
+// Reduced by <bangerth@dealii.org>
+// The problem was that g++ was ICE because
+// it was deferring an NULL pointer because
+// it should have been taking the operand 1
+// instead of the chain in finish_fname_decls.
+
+
+void fun()
+try
+{
+ __FUNCTION__;
+}
+catch (...) {}