C99 testsuite readiness: Compile more tests with -std=gnu89
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / bcopy.c
blob6c7160e2d68f180218c9d41db94a341d85317f1c
1 /* { dg-add-options stack_size } */
2 /* { dg-require-stack-size "[dg-effective-target-value stack_size]*2" } */
3 /* { dg-additional-options "-std=gnu89" } */
5 void
6 bcopy1 (s, d, c)
7 long long *s;
8 long long *d;
9 int c;
11 int i;
12 c = c / 8;
13 for (i = 0; i < c; i++)
14 d[i] = s[i];
17 void
18 bcopy2 (s, d, c)
19 long *s;
20 long *d;
21 int c;
23 int i;
24 c = c / 4;
25 for (i = 0; i < c; i++)
26 d[i] = s[i];
30 void
31 bcopy3 (s, d, c)
32 char *s;
33 char *d;
34 int c;
36 long long z0, z1;
37 int r = d - s;
39 int i;
41 c /= 16;
43 z0 = *((long long *) s);
44 s += 8;
45 z1 = *((long long *) s);
46 s += 8;
47 for (i = 0; i < c; i++)
49 *(long long *)(s + r) = z0;
50 z0 = *((long long *) s);
51 s += 8;
52 *(long long *)(s + r) = z1;
53 z1 = *((long long *) s);
54 s += 8;
58 #if defined(STACK_SIZE) && STACK_SIZE < 16384
59 #define BYTES STACK_SIZE
60 #else
61 #define BYTES 16384
62 #endif
64 main ()
66 long long s[BYTES / 8];
67 long long d[BYTES / 8];
68 int i;
70 for (i = 1; i < 67108864 / BYTES; i++)
71 bcopy (s, d, BYTES);