1 #define ENDIANBIG __attribute((scalar_storage_order ("little-endian")))
2 
3 typedef struct ENDIANBIG
4 {
5   unsigned long long  field0:29;
6   unsigned long long  field1:4;
7   unsigned long long  field2:31;
8 }struct1;
9 
10 int
main(void)11 main(void)
12 {
13   int value1 = 0;
14   int value2 = 0;
15   int value3 = 0;
16   unsigned int flag;
17   struct1 var1;
18   var1.field0 = 23;
19 
20   flag = var1.field0;
21   value1 = ((var1.field0)?10:20);
22   if(var1.field0)
23     {
24       value2 =  10;
25     } else
26     {
27       value2 = 20;
28     }
29 
30   value3 = ((flag)?10:20);
31 
32   if (value1 != 10)
33     __builtin_abort ();
34 
35   if (value2 != 10)
36     __builtin_abort ();
37 
38   if (value3 != 10)
39     __builtin_abort ();
40 
41   return 0;
42 }
43