blob: ccfe2cefd1ceed7b54f3b41e3594f74f749c2c48 [file] [log] [blame]
/* PR tree-optimization/97027 - missing warning on buffer overflow storing
a larger scalar into a smaller array
Verify overflow by vector stores.
{ dg-do compile }
{ dg-options "-O3" } */
void* nowarn_loop (void)
{
char *p = __builtin_malloc (16);
for (int i = 0; i != 16; ++i)
p[i] = i;
return p;
}
void* warn_loop (void)
{
char *p = __builtin_malloc (15);
for (int i = 0; i != 16; ++i)
/* The size of the write below depends on the target. When vectorized
the vector size may be 4, 8 or 16, otherwise it may be a series of byte
assignments. */
p[i] = i; // { dg-warning "writing (1|2|4|8|16) bytes? into a region of size (0|1|3|7|15)" }
return p;
}