https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69241
--- Comment #10 from Abe <abe_skolnik at yahoo dot com> --- Adding either of the following flags to "-O1" causes the compiler to ICE on the most-reduced test case; adding any of the other "-f<...>" flags I tested [39 of them including the following 2] did not enable the ICE: -fipa-icf -fipa-icf-functions Using either of those flags results in exactly the same ICE with exactly the same output... C++11_v1_.cpp: In function ‘R f()’: C++11_v1_.cpp:3:3: internal compiler error: in assign_temp, at function.c:961 R f(){V(0);} ^ 0xa2215c assign_temp(tree_node*, int, int) ../../gcc/function.c:961 0x8b2611 expand_call(tree_node*, rtx_def*, int) ../../gcc/calls.c:2559 0x9b72d2 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/expr.c:10575 0x8c350c expand_expr ../../gcc/expr.h:256 0x8c350c expand_call_stmt ../../gcc/cfgexpand.c:2648 0x8c350c expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3536 0x8c350c expand_gimple_stmt ../../gcc/cfgexpand.c:3702 0x8c5801 expand_gimple_tailcall ../../gcc/cfgexpand.c:3749 0x8c5801 expand_gimple_basic_block ../../gcc/cfgexpand.c:5685 0x8cac06 execute ../../gcc/cfgexpand.c:6323 Please submit a full bug report, with preprocessed source if appropriate. Of note, "-fipa-icf-variables" is one of those that does _not_ trigger the ICE when added to "-O1".