34 lines
621 B
C
34 lines
621 B
C
/* PR tree-optimization/83446 - Bootstrap failed on i686
|
|
{ dg-do compile }
|
|
{ dg-options "-O2 -Warray-bounds" } */
|
|
|
|
char a[4];
|
|
|
|
void f0i (void *d, int n)
|
|
{
|
|
if (n < 0) n = 0;
|
|
|
|
__builtin_memcpy (d, a + sizeof a - n, n);
|
|
}
|
|
|
|
void f0L (void *d, long n)
|
|
{
|
|
if (n < 0) n = 0;
|
|
|
|
__builtin_memcpy (d, a + sizeof a - n, n);
|
|
}
|
|
|
|
void f0u (void *d, unsigned n)
|
|
{
|
|
if (n < 0) n = 1;
|
|
|
|
__builtin_memcpy (d, a + sizeof a - n, n); /* { dg-bogus "\\\[-Warray-bounds" } */
|
|
}
|
|
|
|
void f1lu (void *d, unsigned long n)
|
|
{
|
|
if (n < 1) n = 1;
|
|
|
|
__builtin_memcpy (d, a + sizeof a - n, n); /* { dg-bogus "\\\[-Warray-bounds" } */
|
|
}
|