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)11main(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