modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20180921-1.c (about)

     1  /* PR tree-optimization/86990 */
     2  /* Testcase by Zhendong Su <su@cs.ucdavis.edu> */
     3  
     4  const char *ss;
     5  
     6  int __attribute__((noipa)) dummy (const char *s, ...)
     7  {
     8    ss = s;
     9  }
    10  
    11  int i[6];
    12  static int j, v, e, f, h = 5, k, l, n, o, p, q, r, s, u, w, x, y, z, aa, ab, ac,
    13                         ad, ae, af, ag = 8, ah, ai, aj, ak, al;
    14  char c;
    15  struct a {
    16    unsigned b;
    17    int c : 9;
    18    int d;
    19  } static g = {9, 5};
    20  static short m[1], t = 95, am;
    21  int an, ao, ap;
    22  void aq(int ar) {
    23    j = j & 5 ^ i[j ^ v & 5];
    24    j = j & 5 ^ i[(j ^ v) & 5];
    25    j = j & 4095 ^ (j ^ v) & 5;
    26  }
    27  void as(int ar) {
    28    if (n)
    29      s = 0;
    30  }
    31  static unsigned at() {
    32    int au[] = {2080555007, 0};
    33    for (; al; al--) {
    34      if (r)
    35        --x;
    36      if (g.d)
    37        l++;
    38      dummy("", j);
    39      if (u)
    40        ae = n = au[al];
    41    }
    42    r = 0;
    43    return 0;
    44  }
    45  int aw(int ar) {
    46    int ax[] = {9, 5, 5, 9, 5}, ay = 3;
    47    struct a az = {1, 3};
    48  av:
    49    an = (as((at(), ax)[2]), ax[4]);
    50    {
    51      int ba[] = {5, 5, 9, 8, 1, 0, 5, 5, 9, 8, 1, 0,
    52                  5, 5, 9, 8, 1, 0, 5, 5, 9, 8, 1};
    53      int a[] = {8, 2, 8, 2, 8, 2, 8};
    54      int b[] = {1027239, 8, 1, 7, 9, 2, 9, 4, 4, 2, 8, 1, 0, 4, 4, 2,
    55                 4,       4, 2, 9, 2, 9, 8, 1, 7, 9, 2, 9, 4, 4, 2};
    56      if (z) {
    57        struct a bc;
    58      bb:
    59        for (; e; e++)
    60          for (; q;)
    61            return ax[e];
    62        if (bc.c < g.d <= a[7])
    63          aa--;
    64      }
    65      {
    66        struct a bd = {5};
    67        int d[20] = {1, 9, 7, 7, 8, 4, 4, 4, 4, 8, 1, 9, 7, 7, 8, 4, 4, 4, 4};
    68        c = h | r % g.c ^ x;
    69        dummy("", g);
    70        am -= t | x;
    71        if (h)
    72          while (1) {
    73            if (a[o]) {
    74              struct a be;
    75              if (ar) {
    76                struct a bf = {908, 5, 3};
    77                int bg[3], bh = k, bj = ag | ae, bk = aj + 3, bl = u << e;
    78                if (f)
    79                  if (ac)
    80                    ak = w;
    81                ag = -(ag & t);
    82                af = ag ^ af;
    83                if (8 < af)
    84                  break;
    85                if (bj)
    86                  goto bi;
    87                if (s)
    88                  dummy("", 6);
    89                be.d = k;
    90                w = f - bh;
    91                dummy("", be);
    92                if (w)
    93                  goto bb;
    94                ao = r - aa && g.b;
    95                if (y)
    96                  k++;
    97                goto av;
    98              bi:
    99                if (aa)
   100                  continue;
   101                if (f)
   102                  if (k)
   103                    dummy("", g);
   104                aj = ac + k ^ g.c;
   105                g.c = bk;
   106                ah = 0;
   107                for (; ah < 3; ah++)
   108                  if (s)
   109                    bg[ah] = 8;
   110                if (!ay)
   111                  dummy("", ai);
   112                u = bl;
   113                g = bf;
   114              } else
   115                for (;; o += a[ap])
   116                  ;
   117              int bm[] = {0};
   118              for (; p; p++)
   119                c = ad;
   120              ad = l;
   121              if (bd.c) {
   122                dummy(" ");
   123                goto bi;
   124              }
   125            }
   126            int bn[] = {5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5,
   127                        2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2,
   128                        2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2};
   129            struct a a[] = {3440025416, 2, 8, 4, 2, 8, 4, 4, 2, 8, 4};
   130            struct a b = {3075920};
   131            if (f) {
   132              aq(m[am + e]);
   133              dummy("", j);
   134              dummy("", e);
   135              ab--;
   136            }
   137            if (ax[4]) {
   138              if (l)
   139                goto av;
   140              ++f;
   141            } else
   142              ay = az.c && a;
   143            for (; ac; ac++)
   144              m[f] = 0;
   145          }
   146        h = 9;
   147        for (; y; y = 1)
   148          if (f)
   149            goto av;
   150      }
   151    }
   152    return 0;
   153  }
   154  
   155  int main (void)
   156  {
   157    aw(1);
   158    if (g.c!= 5)
   159      __builtin_abort ();
   160    return 0;
   161  }