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 }