annotate gcc/testsuite/gcc.c-torture/compile/930529-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-require-effective-target untyped_assembly } */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 struct r
kono
parents:
diff changeset
4 {
kono
parents:
diff changeset
5 int d1, d2;
kono
parents:
diff changeset
6 };
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 struct km
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 int d;
kono
parents:
diff changeset
11 };
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 struct f1
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 char *fn;
kono
parents:
diff changeset
16 char *fd;
kono
parents:
diff changeset
17 char *fs;
kono
parents:
diff changeset
18 char *ic;
kono
parents:
diff changeset
19 void (*ff) ();
kono
parents:
diff changeset
20 };
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 int g ();
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 int y;
kono
parents:
diff changeset
25 struct r *bs;
kono
parents:
diff changeset
26 int bv;
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 void b ();
kono
parents:
diff changeset
29 char *w ();
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 struct km **q;
kono
parents:
diff changeset
32 char **mns;
kono
parents:
diff changeset
33 int nm;
kono
parents:
diff changeset
34 struct f1 **z;
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 f (char *km, char *h)
kono
parents:
diff changeset
37 {
kono
parents:
diff changeset
38 struct f1 *t;
kono
parents:
diff changeset
39 int map = midn(km, strlen(km));
kono
parents:
diff changeset
40 int V;
kono
parents:
diff changeset
41 int c;
kono
parents:
diff changeset
42 struct r r;
kono
parents:
diff changeset
43 struct f1 *cm;
kono
parents:
diff changeset
44
kono
parents:
diff changeset
45 if (!g(&V, &cm, h, strlen(h)))
kono
parents:
diff changeset
46 {
kono
parents:
diff changeset
47 c = (cm - z[V]);
kono
parents:
diff changeset
48 goto L;
kono
parents:
diff changeset
49 }
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 for (c = 0; c < nm; c++)
kono
parents:
diff changeset
52 if (!strcmp (h, mns[c]))
kono
parents:
diff changeset
53 {
kono
parents:
diff changeset
54 V = -1;
kono
parents:
diff changeset
55 goto L;
kono
parents:
diff changeset
56 }
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58 for (c = 0; c < y; c++)
kono
parents:
diff changeset
59 {
kono
parents:
diff changeset
60 if (!memcmp (&bs[c], &r, 8))
kono
parents:
diff changeset
61 goto L;
kono
parents:
diff changeset
62 }
kono
parents:
diff changeset
63
kono
parents:
diff changeset
64 h = w (&r);
kono
parents:
diff changeset
65 if (!bv)
kono
parents:
diff changeset
66 {
kono
parents:
diff changeset
67 bs = g (8);
kono
parents:
diff changeset
68 t = (struct f1 *)g (20);
kono
parents:
diff changeset
69 }
kono
parents:
diff changeset
70 else
kono
parents:
diff changeset
71 {
kono
parents:
diff changeset
72 bs = g (bs, y * 8);
kono
parents:
diff changeset
73 z[bv] = cr (z[bv], (1 + y) * 20);
kono
parents:
diff changeset
74 t = &z[bv][y - 1];
kono
parents:
diff changeset
75 }
kono
parents:
diff changeset
76 bs[y - 1] = r;
kono
parents:
diff changeset
77 t->fs[0] = sp (y - 1);
kono
parents:
diff changeset
78 t->fs[1] = 0;
kono
parents:
diff changeset
79 t->ic = 0;
kono
parents:
diff changeset
80 t->fd = 0;
kono
parents:
diff changeset
81 t->fn = cs (h);
kono
parents:
diff changeset
82 t->ff = b;
kono
parents:
diff changeset
83 L:
kono
parents:
diff changeset
84 g (q[map], V, c);
kono
parents:
diff changeset
85 }