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
/
pr95857.c
blob
afd6f46ea385316e131be2efac93b899eed9703a
1
/* PR tree-optimization/95857 */
2
/* { dg-do compile } */
3
/* { dg-options "-O2" } */
4
/* { dg-require-effective-target label_values } */
5
6
struct
E
{
int
e
; };
7
int
bar
(
void
),
baz
(
void
);
8
void
qux
(
void
*);
9
10
void
11
foo
(
int
x
)
12
{
13
struct
E a
= {
0
};
14
struct
E i
= {
0
};
15
qux
(&&
lab2
);
16
if
(
baz
())
17
i
.
e
=
1
;
18
else
19
a
.
e
= -
2
;
20
switch
(
a
.
e
)
21
{
22
case
-
2
:
23
lab1
:
24
switch
(
i
.
e
)
25
{
26
case
-
3
:
27
case
2
:
28
if
(
i
.
e
-- !=
2
)
29
__builtin_unreachable
();
30
lab2
:
31
baz
();
32
goto
lab1
;
33
case
0
:
34
bar
();
35
}
36
break
;
37
}
38
}