[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 --- Comment #1 from Ilya Enkovich --- Arguments copied for instrumented functions with no body don't have their context fixed. It didn't trigger any problems before but does now because we may inline into thunks. I'm testing this patch now: diff --git a/gcc/ipa-chkp.c b/gcc/ipa-chkp.c index 5f5df64..86c48f1 100644 --- a/gcc/ipa-chkp.c +++ b/gcc/ipa-chkp.c @@ -207,7 +207,13 @@ chkp_build_instrumented_fndecl (tree fndecl) /* For functions with body versioning will make a copy of arguments. For functions with no body we need to do it here. */ if (!gimple_has_body_p (fndecl)) -DECL_ARGUMENTS (new_decl) = copy_list (DECL_ARGUMENTS (fndecl)); +{ + tree arg; + + DECL_ARGUMENTS (new_decl) = copy_list (DECL_ARGUMENTS (fndecl)); + for (arg = DECL_ARGUMENTS (new_decl); arg; arg = DECL_CHAIN (arg)) + DECL_CONTEXT (arg) = new_decl; +} /* We are going to modify attributes list and therefore should make own copy. */
[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 --- Comment #2 from Ilya Enkovich --- Author: ienkovich Date: Wed Jun 15 15:49:40 2016 New Revision: 237484 URL: https://gcc.gnu.org/viewcvs?rev=237484&root=gcc&view=rev Log: gcc/ PR middle-end/71529 * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix DECL_CONTEXT for copied arguments. gcc/testsuite/ PR middle-end/71529 * gcc.target/i386/pr71529.C: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr71529.C Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-chkp.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 --- Comment #3 from Ilya Enkovich --- Author: ienkovich Date: Mon Jun 20 11:35:02 2016 New Revision: 237592 URL: https://gcc.gnu.org/viewcvs?rev=237592&root=gcc&view=rev Log: gcc/ Backport from mainline r237484. 2016-06-15 Ilya Enkovich PR middle-end/71529 * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix DECL_CONTEXT for copied arguments. gcc/testsuite/ Backport from mainline r237484. 2016-06-15 Ilya Enkovich PR middle-end/71529 * gcc.target/i386/pr71529.C: New test. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71529.C Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/ipa-chkp.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 Ilya Enkovich changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Ilya Enkovich --- Fixed
[Bug middle-end/71529] [7 regression][CHKP] ICE in expand_expr_real_1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71529 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Mon Nov 7 13:07:32 2016 New Revision: 241903 URL: https://gcc.gnu.org/viewcvs?rev=241903&root=gcc&view=rev Log: PR middle-end/71529 * gcc.target/i386/pr71529.C: Moved to ... * g++.dg/opt/pr71529.C: ... here. New test. Guard for i?86/x86_64. PR target/64411 * gcc.target/i386/pr64411.C: Moved to ... * g++.dg/opt/pr64411.C: ... here. New test. Guard for i?86/x86_64 lp64. PR target/65105 * gcc.target/i386/pr65105-4.C: Moved to ... * g++.dg/opt/pr65105-4.C: ... here. New test. Guard for i?86/x86_64. Run into compile test rather than execute test. Added: trunk/gcc/testsuite/g++.dg/opt/pr64411.C - copied, changed from r241902, trunk/gcc/testsuite/gcc.target/i386/pr64411.C trunk/gcc/testsuite/g++.dg/opt/pr65105-4.C - copied, changed from r241902, trunk/gcc/testsuite/gcc.target/i386/pr65105-4.C trunk/gcc/testsuite/g++.dg/opt/pr71529.C - copied, changed from r241902, trunk/gcc/testsuite/gcc.target/i386/pr71529.C Removed: trunk/gcc/testsuite/gcc.target/i386/pr64411.C trunk/gcc/testsuite/gcc.target/i386/pr65105-4.C trunk/gcc/testsuite/gcc.target/i386/pr71529.C Modified: trunk/gcc/testsuite/ChangeLog