Commit b05c3fd6 by Richard Biener Committed by Richard Biener

re PR c++/78383 (label as values ICE with C++ lambda)

2016-11-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/78383
	* tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
	non-local goto into CFG.

From-SVN: r242543
parent bef69eb5
2016-11-17 Richard Biener <rguenther@suse.de> 2016-11-17 Richard Biener <rguenther@suse.de>
PR middle-end/78383
* tree-cfgcleanup.c (cleanup_control_flow_bb): Do not turn
non-local goto into CFG.
2016-11-17 Richard Biener <rguenther@suse.de>
* common.opt (ftree-loop-if-convert-stores): Mark as preserved for * common.opt (ftree-loop-if-convert-stores): Mark as preserved for
backward compatibility. backward compatibility.
* doc/invoke.texi (ftree-loop-if-convert-stores): Remove. * doc/invoke.texi (ftree-loop-if-convert-stores): Remove.
...@@ -230,6 +230,8 @@ cleanup_control_flow_bb (basic_block bb, bool first_p) ...@@ -230,6 +230,8 @@ cleanup_control_flow_bb (basic_block bb, bool first_p)
edges which do not go to the right block. For the one edges which do not go to the right block. For the one
edge which goes to the right block, fix up its flags. */ edge which goes to the right block, fix up its flags. */
label = TREE_OPERAND (gimple_goto_dest (stmt), 0); label = TREE_OPERAND (gimple_goto_dest (stmt), 0);
if (DECL_CONTEXT (label) != cfun->decl)
return retval;
target_block = label_to_block (label); target_block = label_to_block (label);
for (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); ) for (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); )
{ {
......
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