51 lines
817 B
C
51 lines
817 B
C
/* PR tree-optimization/69172 - ICE in make_ssa_name_fn,
|
|
at tree-ssanames.c:266 */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O2" } */
|
|
|
|
int a;
|
|
|
|
void *
|
|
f1 (void)
|
|
{
|
|
int *b = &a, *c = &a;
|
|
return __builtin___mempcpy_chk (b, c, sizeof (int), 0);
|
|
}
|
|
|
|
void *
|
|
f2 (void)
|
|
{
|
|
int *b = &a;
|
|
return __builtin___mempcpy_chk (b, b, sizeof (int), 0);
|
|
}
|
|
|
|
void *
|
|
f3 (void)
|
|
{
|
|
return __builtin___mempcpy_chk (&a, &a, sizeof (int), 0);
|
|
}
|
|
|
|
void *
|
|
f4 (int x)
|
|
{
|
|
int *b = &a, *c = &a;
|
|
return __builtin___mempcpy_chk (b, c, x, 0);
|
|
}
|
|
|
|
void *
|
|
f5 (int x)
|
|
{
|
|
int *b = &a;
|
|
return __builtin___mempcpy_chk (b, b, x, 0);
|
|
}
|
|
|
|
void *
|
|
f6 (int x)
|
|
{
|
|
return __builtin___mempcpy_chk (&a, &a, x, 0);
|
|
}
|
|
|
|
/* The calls above violate strict aliasing. Eliminate the -Wrestrict
|
|
warnings they trigger.
|
|
{ dg-prune-output "\\\[-Wrestrict]" } */
|