Commit b1193f61 by Steven Bosscher

re PR middle-end/45310 (ICE: verify_stmts failed: Dead STMT in EH table with -O1…

re PR middle-end/45310 (ICE: verify_stmts failed: Dead STMT in EH table with -O1 -fnon-call-exceptions)

gcc/
	PR middle-end/45310
	* tree-ssa-phiprop.c (propagate_with_phi): Remove statement
	completely from the function, including EH traces.

testsuite/
	PR middle-end/45310
	* g++.dg/pr45310.C: New test.

From-SVN: r168120
parent df0820da
/* { dg-do compile } */
/* { dg-options "-O1 -fnon-call-exceptions" } */
static inline const int &
max (const int &a, const int &b)
{
return a ? a : b;
}
static inline int
baz ()
{
return max (0, 0);
}
struct S
{
~S ()
{
baz ();
}
};
void bar ();
void
foo ()
{
S s;
bar ();
}
......@@ -352,7 +352,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn,
want to delete it here we also have to delete all intermediate
copies. */
gsi = gsi_for_stmt (use_stmt);
gsi_remove (&gsi, false);
gsi_remove (&gsi, true);
phi_inserted = true;
}
......
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