blob: 71b98d7fb46836df7d3f0092d5333e34ba442b40 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#define ENDIANBIG __attribute((scalar_storage_order ("little-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;
}
|