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