Viewing file: Wstringop-overflow-67.c (1.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR middle-end/100571 - bogus -Wstringop-overflow with VLA of elements larger than byte { dg-do compile } { dg-options "-O2 -Wall" } { dg-require-effective-target alloca } */
__attribute__ ((access (read_only, 1, 2))) void fro (int *, int); __attribute__ ((access (write_only, 1, 2))) void fwo (int *, int); __attribute__ ((access (read_write, 1, 2))) void frw (int *, int);
extern __SIZE_TYPE__ n;
void alloca_ro (void) { int *a = __builtin_alloca (n * sizeof *a); a[0] = 0; fro (a, n); }
void alloca_wo (void) { int *a = __builtin_alloca (n * sizeof *a); fwo (a, n); }
void alloca_rw (void) { int *a = __builtin_alloca (n * sizeof *a); a[0] = 0; frw (a, n); }
void calloc_ro (void) { int *a = __builtin_calloc (n, sizeof *a); fro (a, n); }
void calloc_wo (void) { int *a = __builtin_calloc (n, sizeof *a); fwo (a, n); }
void calloc_rw (void) { int *a = __builtin_calloc (n, sizeof *a); a[0] = 0; frw (a, n); }
void malloc_ro (void) { int *a = __builtin_malloc (n * sizeof *a); a[0] = 0; fro (a, n); }
void malloc_wo (void) { int *a = __builtin_malloc (n * sizeof *a); fwo (a, n); }
void malloc_rw (void) { int *a = __builtin_malloc (n * sizeof *a); a[0] = 0; frw (a, n); }
void vla_ro (void) { int a[n]; a[0] = 0; fro (a, n); }
void vla_wo (void) { int a[n]; fwo (a, n); }
void vla_rw (void) { int a[n]; a[0] = 0; frw (a, n); }
|