(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr81814.c
       1  /* PR middle-end/81814 */
       2  /* { dg-do run { target int32plus } } */
       3  
       4  int
       5  main ()
       6  {
       7    int i = 0x01000000;
       8    int a;
       9  
      10    a = ((signed char) i) != 0 ? 0 : (unsigned long long int) i;
      11    if (a != 0x01000000)
      12      __builtin_abort ();
      13    a = ((signed short int) i) != 0 ? 0 : (unsigned long long int) i;
      14    if (a != 0x01000000)
      15      __builtin_abort ();
      16    a = ((unsigned short int) i) != 0 ? 0 : (unsigned long long int) i;
      17    if (a != 0x01000000)
      18      __builtin_abort ();
      19    a = ((unsigned char) i) != 0 ? 0 : (unsigned long long int) i;
      20    if (a != 0x01000000)
      21      __builtin_abort ();
      22    a = ((signed char) i) == 0 ? (unsigned long long int) i : 0;
      23    if (a != 0x01000000)
      24      __builtin_abort ();
      25    a = ((signed short int) i) == 0 ? (unsigned long long int) i : 0;
      26    if (a != 0x01000000)
      27      __builtin_abort ();
      28    a = ((unsigned short int) i) == 0 ? (unsigned long long int) i : 0;
      29    if (a != 0x01000000)
      30      __builtin_abort ();
      31    a = ((unsigned char) i) == 0 ? (unsigned long long int) i : 0;
      32    if (a != 0x01000000)
      33      __builtin_abort ();
      34  
      35    return 0;
      36  }