OSDN Git Service

* MAINTAINERS (c4x port): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr34225.c
1 /* PR target/34225 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fno-strict-aliasing -fstack-protector" } */
4 /* { dg-require-effective-target fstack_protector } */
5
6 typedef __SIZE_TYPE__ size_t;
7 extern int sscanf (const char *, const char *, ...);
8 struct C
9 {
10   char c[240];
11 };
12 struct O
13 {
14   char **o;
15 };
16 struct P
17 {
18   int p1;
19   char p2[256];
20   char p3[256];
21   char p4[256];
22 };
23
24 extern void *s;
25 extern int f1 (char *, struct C *);
26 extern void f2 (void *, const char *);
27 extern void f3 (char *, const char *);
28 extern int f4 (int, double *, int);
29
30 int
31 foo (char *a[], struct O *b, int c, int d, struct P *e, int f, int *h,
32      char *l)
33 {
34   int i, g = 7, m = 0, n;
35   struct C j[150];
36   double *k[150];
37   char o[100];
38
39   if (f1 (o, &j[g]) < 0)
40     g++;
41
42   while (!m)
43     {
44       f2 (s, "xxx");
45       for (i = 0; i < f; i++)
46         if ((!b->o && __builtin_strncmp (l, "abcde", 5) == 0)
47             || (b->o && !b->o[c]))
48           {
49             *e[d].p4 = *e[d].p3 = *e[d].p2 = 0;
50             sscanf (l, "%s %s %[^\n]", e[d].p3, e[d].p2, e[d].p4);
51           }
52       for (n = 0; n < d; n++)
53         for (i = 0; i < g; i++)
54           {
55             f3 (a[i + 1], "foo");
56             if (f4 (h[i], k[i], e[n].p1) < 0)
57               f3 (a[i + 1], "bar");
58           }
59     }
60   return 0;
61 }