modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr19080.c (about)

     1  typedef union { int ioport; volatile char *maddr; } bus_space_handle_t;
     2  struct scb { unsigned short *hscb; };
     3  struct ahd_softc
     4  {
     5    int tags[2];
     6    bus_space_handle_t bshs[2];
     7    int dst_mode;
     8    int src_mode;
     9    int flags;
    10  };
    11  void outb(int, int);
    12  
    13  int foo_inb(struct ahd_softc*);
    14  int foo_int_int (int, int);
    15  int ahd_inb(struct ahd_softc*);
    16  int ahd_scb_active_in_fifo (void);
    17  
    18  void ahd_flush_qoutfifo (struct ahd_softc *ahd, struct scb *scb)
    19  {
    20    int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1;
    21    int bb, p;
    22  
    23    if (ahd->src_mode == 1)
    24      { int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1;}
    25    foo_int_int (ahd->src_mode, ahd->dst_mode);
    26    p = 1;
    27    if (ahd->src_mode == 2 && ahd->dst_mode == p)
    28      {
    29        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    30          outb (1, ahd->bshs[0].ioport );
    31        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    32          outb (1, ahd->bshs[0].ioport );
    33      }
    34    ahd->src_mode = 1;
    35    ahd->dst_mode = 2;
    36    while ((ahd_inb (ahd) & 0x01) != 0)
    37    {
    38      p = 1;
    39      if (ahd->src_mode == 2 && ahd->dst_mode == p)
    40        {
    41          if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    42            outb (1, ahd->bshs[0].ioport );
    43          if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    44            outb (1, ahd->bshs[0].ioport );
    45        }
    46      ahd->src_mode = 1;
    47      ahd->dst_mode = 2;
    48      if (ahd_scb_active_in_fifo () == 0)
    49        continue;
    50      p = 1;
    51      if (ahd->src_mode == 2 && ahd->dst_mode == p)
    52        {
    53          if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    54            outb (1, ahd->bshs[0].ioport );
    55          if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    56            outb (1, ahd->bshs[0].ioport );
    57        }
    58      ahd->src_mode = 1;
    59      ahd->dst_mode = 2;
    60      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    61        outb (1, ahd->bshs[0].ioport );
    62      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    63        outb (1, ahd->bshs[0].ioport );
    64      if ((ahd->flags & 1) != 0)
    65        foo_inb (ahd);
    66      if ((ahd->flags & 1) != 0)
    67        foo_inb (ahd);
    68      if ((ahd->flags & 1) != 0)
    69        foo_inb (ahd);
    70      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    71        outb (1, ahd->bshs[0].ioport );
    72      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    73        outb (1, ahd->bshs[0].ioport );
    74      if ((ahd->flags & 1) != 0)
    75        foo_inb (ahd);
    76      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    77        outb (1, ahd->bshs[0].ioport );
    78      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    79        outb (1, ahd->bshs[0].ioport );
    80      bb = (*(scb->hscb));
    81      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    82        outb (1, ahd->bshs[0].ioport );
    83      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    84        outb (1, ahd->bshs[0].ioport );
    85      bb = (*(scb->hscb));
    86      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    87        outb (1, ahd->bshs[0].ioport );
    88      if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    89        outb (1, ahd->bshs[0].ioport );
    90    }
    91    if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    92      outb (1, ahd->bshs[0].ioport );
    93    if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    94      outb (1, ahd->bshs[0].ioport );
    95    p = 1;
    96    if (ahd->src_mode == 2 && ahd->dst_mode == p)
    97      {
    98        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
    99          outb (1, ahd->bshs[0].ioport );
   100        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
   101          outb (1, ahd->bshs[0].ioport );
   102      }
   103    ahd->src_mode = 1;
   104    ahd->dst_mode = 2;
   105    if (ahd->src_mode == 2 && ahd->dst_mode == dst)
   106      {
   107        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
   108          outb (1, ahd->bshs[0].ioport );
   109        if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
   110          outb (1, ahd->bshs[0].ioport );
   111      }
   112    ahd->src_mode = 1;
   113    ahd->dst_mode = 2;
   114    ahd->flags |= 1;
   115  }