re PR bootstrap/63995 (Bootstrap error with -mmpx -fcheck-pointer-bounds)

gcc/

	PR bootstrap/63995
	* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Ignore
	debug statement when searching for a new position for
	bounds load/creation statement.

gcc/testsuite/

	PR bootstrap/63995
	* gcc.target/i386/pr63995-2.c: New.

From-SVN: r218085
This commit is contained in:
Ilya Enkovich 2014-11-26 14:37:07 +00:00 committed by Ilya Enkovich
parent 0bae64d580
commit 4186636315
4 changed files with 43 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com>
PR bootstrap/63995
* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Ignore
debug statement when searching for a new position for
bounds load/creation statement.
2014-11-26 Marek Polacek <polacek@redhat.com>
PR sanitizer/63788

View File

@ -1,3 +1,8 @@
2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com>
PR bootstrap/63995
* gcc.target/i386/pr63995-2.c: New.
2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com>
PR lto/64075

View File

@ -0,0 +1,28 @@
/* { dg-do compile } */
/* { dg-require-effective-target mpx } */
/* { dg-options "-O2 -g -fcheck-pointer-bounds -mmpx -fcompare-debug" } */
struct ts
{
int field;
};
extern void test1 ();
extern void test2 (struct ts *);
static void
init (struct ts *c)
{
c->field = -1;
}
struct ts
test3 (const struct ts *other)
{
struct ts r;
if (other->field != 0)
test1 ();
init (&r);
test2 (&r);
return r;
}

View File

@ -1175,6 +1175,9 @@ chkp_reduce_bounds_lifetime (void)
FOR_EACH_IMM_USE_STMT (use_stmt, use_iter, op)
{
if (is_gimple_debug (use_stmt))
continue;
if (dom_bb &&
dominated_by_p (CDI_DOMINATORS,
dom_bb, gimple_bb (use_stmt)))