1 /* PR middle-end/81814 */ 2 /* { dg-do run { target int32plus } } */ 3 4 int main()5main () 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 } 37