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
libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.dg
/
torture
/
pr57864.c
blob
fda1844fc3776b77967f06f562aeef9d44db2198
1
/* { dg-do compile } */
2
3
union
U
{
4
double
val
;
5
union
U
*
ptr
;
6
};
7
8
union
U
*
d
;
9
double
a
;
10
int
b
;
11
int
c
;
12
13
static void
fn1
(
union
U
*
p1
,
int
p2
,
_Bool p3
)
14
{
15
union
U
*
e
;
16
17
if
(
p2
==
0
)
18
a
= ((
union
U
*)((
__SIZE_TYPE__
)
p1
& ~
1
))->
val
;
19
20
if
(
b
) {
21
e
=
p1
;
22
}
else if
(
c
) {
23
e
= ((
union
U
*)((
__SIZE_TYPE__
)
p1
& ~
1
))->
ptr
;
24
d
=
e
;
25
}
else
{
26
e
=
0
;
27
d
= ((
union
U
*)
0
)->
ptr
;
28
}
29
30
fn1
(
e
,
0
,
0
);
31
fn1
(
0
,
0
,
p3
);
32
}
33
34
void
fn2
(
void
)
35
{
36
fn1
(
0
,
0
,
0
);
37
}