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
Fix hash of WIDEN_*_EXPR
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.c-torture
/
execute
/
lto-tbaa-1.c
blob
6bfd7d13a43dd2541e1336c64c90e4e3fd250ec6
1
/* { dg-additional-options "-fno-early-inlining -fno-ipa-cp" } */
2
struct
a
{
3
float
*
b
;
4
} *
a
;
5
struct
b
{
6
int
*
b
;
7
}
b
;
8
struct
c
{
9
float
*
b
;
10
} *
c
;
11
int
d
;
12
void
13
use_a
(
struct
a
*
a
)
14
{
15
}
16
void
17
set_b
(
int
**
a
)
18
{
19
*
a
=&
d
;
20
}
21
void
22
use_c
(
struct
c
*
a
)
23
{
24
}
25
__attribute__
((
noinline
))
int
**
retme
(
int
**
val
)
26
{
27
return
val
;
28
}
29
int
e
;
30
struct
b b
= {&
e
};
31
struct
b b2
;
32
struct
b b3
;
33
int
**
ptr
= &
b2
.
b
;
34
int
35
main
(
void
)
36
{
37
a
= (
void
*)
0
;
38
b
.
b
=&
e
;
39
ptr
=
retme
( &
b
.
b
);
40
set_b
(
ptr
);
41
b3
=
b
;
42
if
(
b3
.
b
!= &
d
)
43
__builtin_abort
();
44
c
= (
void
*)
0
;
45
return
0
;
46
}