repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Rebase.
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.dg
/
torture
/
pr51528.c
blob
db5f3e0cadd18d9bbddc7db0f1aeacfd95c944c3
1
/* { dg-do run } */
2
/* { dg-options "-fno-early-inlining" } */
3
4
extern
void
abort
(
void
);
5
6
union
U
7
{
8
int
i
;
9
_Bool b
;
10
};
11
12
_Bool gb
;
13
14
void
__attribute__
((
noinline
))
15
use_bool
(
union
U u
)
16
{
17
gb
=
u
.
b
;
18
}
19
20
union
U
21
bar
(
void
)
22
{
23
union
U u
;
24
u
.
i
=
0xFFFE
;
25
return
u
;
26
}
27
28
union
U
__attribute__
((
noinline
))
29
foo
(
void
)
30
{
31
union
U u
,
v
;
32
33
u
.
b
=
1
;
34
use_bool
(
u
);
35
u
=
bar
();
36
37
return
u
;
38
}
39
40
int
main
(
int
argc
,
char
**
argv
)
41
{
42
union
U u
=
foo
();
43
if
(
u
.
i
!=
0xFFFE
)
44
abort
();
45
return
0
;
46
}