xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.c-torture/execute/960521-1.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 #include <stdlib.h>
2 
3 int *a, *b;
4 int n;
5 
6 #ifdef STACK_SIZE
7 #define BLOCK_SIZE (STACK_SIZE / (sizeof (*a) + sizeof (*b)))
8 #else
9 #define BLOCK_SIZE 32768
10 #endif
foo()11 foo ()
12 {
13   int i;
14   for (i = 0; i < n; i++)
15     a[i] = -1;
16   for (i = 0; i < BLOCK_SIZE - 1; i++)
17     b[i] = -1;
18 }
19 
main()20 main ()
21 {
22   n = BLOCK_SIZE;
23   a = malloc (n * sizeof(*a));
24   b = malloc (n * sizeof(*b));
25   *b++ = 0;
26   foo ();
27   if (b[-1])
28     abort ();
29   exit (0);
30 }
31