Commit 1b288fec by Jason Merrill Committed by Jason Merrill

re PR c++/12519 (ICE tree check: in genrtl_cleanup_stmt, at c-semantics.c:761)

        PR c++/12519
        * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
        it isn't a decl.

From-SVN: r72206
parent ff4cc28b
2003-10-07 Jason Merrill <jason@redhat.com>
PR c++/12519
* c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
it isn't a decl.
2003-10-07 Alexandre Oliva <aoliva@redhat.com>
* gcc.c (cpp_options): Only pass -fworking-directory for -g* if
......
......@@ -758,7 +758,8 @@ void
genrtl_cleanup_stmt (tree t)
{
tree decl = CLEANUP_DECL (t);
if (!decl || (DECL_SIZE (decl) && TREE_TYPE (decl) != error_mark_node))
if (!decl || !DECL_P (decl)
|| (DECL_SIZE (decl) && TREE_TYPE (decl) != error_mark_node))
expand_decl_cleanup_eh (decl, CLEANUP_EXPR (t), CLEANUP_EH_ONLY (t));
}
......
// PR c++/12519
// { dg-do compile }
// { dg-options "-O" }
struct A
{
~A();
};
inline const A foo()
{
A a;
return a;
}
A bar()
{
return foo();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment