Commit bcac21a0 by Jason Merrill Committed by Jason Merrill

re PR c++/16851 (ICE when throwing a comma expression)

        PR c++/16851
        * tree.c (stabilize_init): See through a COMPOUND_EXPR.

From-SVN: r86688
parent 40aac948
2004-08-27 Jason Merrill <jason@redhat.com>
PR c++/16851
* tree.c (stabilize_init): See through a COMPOUND_EXPR.
PR c++/13684
* decl.c (expand_static_init): Use thread-safety API.
(register_dtor_fn): Return the call, don't expand it.
......
......@@ -2316,6 +2316,8 @@ stabilize_init (tree init, tree *initp)
t = TREE_OPERAND (t, 1);
if (TREE_CODE (t) == TARGET_EXPR)
t = TARGET_EXPR_INITIAL (t);
if (TREE_CODE (t) == COMPOUND_EXPR)
t = expr_last (t);
if (TREE_CODE (t) == CONSTRUCTOR
&& CONSTRUCTOR_ELTS (t) == NULL_TREE)
{
......
// PR c++/16851
struct A { A(int); };
void f()
{
throw (3,A(t));
}
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