libstdc++: Remove unnecessary 'static' from __is_specialization_of
[official-gcc.git] / gcc / testsuite / gcc.target / arm / pr97969.c
blobaf69e47ad9f6f33ec8816dfab44f37208b754e8b
1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_arch_v6m_ok } */
3 /* { dg-options "-std=c99 -fno-omit-frame-pointer -w -Os" } */
4 /* { dg-add-options arm_arch_v6m } */
6 typedef int a[23];
7 enum { b };
8 typedef struct {
9 int c;
10 char *e;
11 char f;
12 } d;
13 typedef enum { g = 1 } h;
14 typedef struct {
15 h i;
16 int j;
17 } k;
18 typedef struct {
19 a l;
20 int a;
21 int m;
22 int n;
23 int o;
24 short p;
25 int q;
26 k r;
27 char e;
28 char *s;
29 d t;
30 d *u;
31 short v;
32 int w;
33 } aa;
35 void ae(short*, int, int);
36 void af(aa*, int, char, int);
37 int ag(int);
38 void ah(aa);
39 void ai(int);
40 void aj(aa);
41 int setjmp();
43 int c(char x, int y, char z, int ab) {
44 aa ac;
45 ac.r.i = 0;
46 d ad;
47 ac.t = ad;
48 ac.u = 0;
49 ae(&ac.v, 0, 0);
50 ac.w = 0;
51 af(&ac, x + y, z, z + ab);
52 if (ag(0))
53 return 0;
54 if (x)
55 ac.s = (char*)(z + ab);
56 else
57 ac.s = (char*)(x + y);
58 ac.o |= g;
59 if (!setjmp()) {
60 ah(ac);
61 ai(b);
62 ac.e = z + ab;
63 aj(ac);