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
/
pr109585.c
blob
f92de7c1f2e2465d238d75e5d74f059b9a0b1ecc
1
/* { dg-do run } */
2
3
#include <stdlib.h>
4
5
struct
P
{
6
long
v
;
7
struct
P
*
n
;
8
};
9
10
struct
F
{
11
long
x
;
12
struct
P fam
[];
13
};
14
15
int
__attribute__
((
noipa
))
16
f
(
struct
F
*
f
,
int
i
)
17
{
18
struct
P
*
p
=
f
->
fam
;
19
asm
(
""
:
"+r"
(
f
):
"r"
(
p
));
20
p
->
v
=
0
;
21
p
->
n
=
0
;
22
return
f
->
fam
->
n
!=
0
;
23
}
24
25
int
26
main
()
27
{
28
struct
F
*
m
=
malloc
(
sizeof
(
long
) +
2
*
sizeof
(
struct
P
));
29
m
->
fam
[
0
].
n
= &
m
->
fam
[
1
];
30
if
(
f
(
m
,
0
))
31
abort
();
32
return
0
;
33
}