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