Created attachment 34339 [details] Testcases With testcase 1: foo.c: In function 'foo': foo.c:5:6: internal compiler error: Segmentation fault void foo() ^ 0x87fd6b8 crash_signal ../../gcc-5/gcc/toplev.c:359 0x8a2d417 gimple_code ../../gcc-5/gcc/gimple.h:1545 0x8a2e0a6 gimple_nop_p ../../gcc-5/gcc/gimple.h:5589 0x8a30bac verify_use ../../gcc-5/gcc/tree-ssa.c:769 0x8a3166c verify_ssa(bool, bool) ../../gcc-5/gcc/tree-ssa.c:1024 0x8713cdb execute_function_todo ../../gcc-5/gcc/passes.c:1947 0x8712dfe do_per_function ../../gcc-5/gcc/passes.c:1632 0x8713e85 execute_todo ../../gcc-5/gcc/passes.c:1997 With testcase 2: foo.c: In function 'foo': foo.c:5:6: error: definition in block 3 does not dominate use in block 2 void foo() ^ for SSA_NAME: _2 in statement: # DEBUG p => _2 foo.c:5:6: internal compiler error: verify_ssa failed 0x8a318dc verify_ssa(bool, bool) ../../gcc-5/gcc/tree-ssa.c:1062 0x8713cdb execute_function_todo ../../gcc-5/gcc/passes.c:1947 0x8712dfe do_per_function ../../gcc-5/gcc/passes.c:1632 0x8713e85 execute_todo ../../gcc-5/gcc/passes.c:1997 GCC 5.0.0 20141226 (experimental) /r219070/.
Confirmed.
It was caused by r218767.
Same issue as noted elsewhere - -fvar-tracking-assignments shouldn't be in TARGET_OPTIMIZATION_NODE. I am testing Index: gcc/common.opt =================================================================== --- gcc/common.opt (revision 219520) +++ gcc/common.opt (working copy) @@ -2397,13 +2397,13 @@ Perform variable tracking ; annotations. When flag_var_tracking_assignments == ; AUTODETECT_VALUE it will be set according to flag_var_tracking. fvar-tracking-assignments -Common Report Var(flag_var_tracking_assignments) Init(2) Optimization +Common Report Var(flag_var_tracking_assignments) Init(2) Perform variable tracking by annotating assignments ; Nonzero if we should toggle flag_var_tracking_assignments after ; processing options and computing its default. */ fvar-tracking-assignments-toggle -Common Report Var(flag_var_tracking_assignments_toggle) Optimization +Common Report Var(flag_var_tracking_assignments_toggle) Toggle -fvar-tracking-assignments ; Positive if we should track uninitialized variables, negative if
Fixed (in a different way).
Author: rguenth Date: Wed Jan 14 11:06:18 2015 New Revision: 219588 URL: https://gcc.gnu.org/viewcvs?rev=219588&root=gcc&view=rev Log: 2015-01-14 Richard Biener <rguenther@suse.de> PR lto/64415 * tree-inline.c (insert_debug_decl_map): Check destination function MAY_HAVE_DEBUG_STMTS. (insert_init_debug_bind): Likewise. (insert_init_stmt): Remove redundant check. (remap_gimple_stmt): Drop debug stmts if the destination function has var-tracking assignments disabled. * gcc.dg/lto/pr64415_0.c: New testcase. * gcc.dg/lto/pr64415_1.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/lto/pr64415_0.c trunk/gcc/testsuite/gcc.dg/lto/pr64415_1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-inline.c
*** Bug 64498 has been marked as a duplicate of this bug. ***
Author: rguenth Date: Thu Jan 15 11:42:26 2015 New Revision: 219647 URL: https://gcc.gnu.org/viewcvs?rev=219647&root=gcc&view=rev Log: 2015-01-15 Richard Biener <rguenther@suse.de> PR lto/64415 * gcc.dg/lto/pr64415_0.c: Skip on darwin. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/lto/pr64415_0.c
Author: rguenth Date: Thu Jan 15 12:18:33 2015 New Revision: 219651 URL: https://gcc.gnu.org/viewcvs?rev=219651&root=gcc&view=rev Log: 2015-01-15 Richard Biener <rguenther@suse.de> PR lto/64415 * gcc.dg/lto/pr64415_0.c: Re-enable for darwin with -Wl,-undefined,dynamic_lookup. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/lto/pr64415_0.c