re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)

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.

From-SVN: r237484
This commit is contained in:
Ilya Enkovich 2016-06-15 15:49:40 +00:00 committed by Ilya Enkovich
parent 8dc3571219
commit 209d1e2d94
4 changed files with 40 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/71529
* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
DECL_CONTEXT for copied arguments.
2016-06-15 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71483

View File

@ -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. */

View File

@ -1,3 +1,8 @@
2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/71529
* gcc.target/i386/pr71529.C: New test.
2016-06-15 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71483

View File

@ -0,0 +1,22 @@
/* PR71529 */
/* { dg-do compile { target { ! x32 } } } */
/* { dg-options "-fcheck-pointer-bounds -mmpx -O2" } */
class c1
{
public:
virtual ~c1 ();
};
class c2
{
public:
virtual ~c2 ();
};
class c3 : c1, c2 { };
int main (int, char **)
{
c3 obj;
}