(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
930529-1.c
       1  /* { dg-require-effective-target untyped_assembly } */
       2  
       3  struct r
       4  {
       5    int d1, d2;
       6  };
       7  
       8  struct km
       9  {
      10    int d;
      11  };
      12  
      13  struct f1
      14  {
      15    char *fn;
      16    char *fd;
      17    char *fs;
      18    char *ic;
      19    void (*ff) ();
      20  };
      21  
      22  int g ();
      23  
      24  int y;
      25  struct r *bs;
      26  int bv;
      27  
      28  void b ();
      29  char *w ();
      30  
      31  struct km **q;
      32  char **mns;
      33  int nm;
      34  struct f1 **z;
      35  
      36  f (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  }