#define ENDIANBIG __attribute((scalar_storage_order ("big-endian"))) typedef struct ENDIANBIG { unsigned long long field0:29; unsigned long long field1:4; unsigned long long field2:31; }struct1; int main(void) { int value1 = 0; int value2 = 0; int value3 = 0; unsigned int flag; struct1 var1; var1.field0 = 23; flag = var1.field0; value1 = ((var1.field0)?10:20); if(var1.field0) { value2 = 10; } else { value2 = 20; } value3 = ((flag)?10:20); if (value1 != 10) __builtin_abort (); if (value2 != 10) __builtin_abort (); if (value3 != 10) __builtin_abort (); return 0; }