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

     1  /* PR middle-end/37103 */
     2  
     3  extern void abort (void);
     4  
     5  void
     6  foo (unsigned short x)
     7  {
     8    signed char y = -1;
     9    if (x == y)
    10      abort ();
    11  }
    12  
    13  void
    14  bar (unsigned short x)
    15  {
    16    unsigned char y = -1;
    17    if (x == y)
    18      abort ();
    19  }
    20  
    21  int
    22  main (void)
    23  {
    24    if (sizeof (int) == sizeof (short))
    25      return 0;
    26    foo (-1);
    27    if (sizeof (short) > 1)
    28      bar (-1);
    29    return 0;
    30  }