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
.
[official-gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
ipa
/
pr64059.C
blob
0269b45458d97631c44397e6ea8e252c85e816ae
1
// { dg-options "-r -nostdlib -O2 -flto -fno-devirtualize" }
2
// { dg-require-effective-target lto }
3
4
class A;
5
class B
6
{
7
public:
8
A *operator->();
9
};
10
class C
11
{
12
public:
13
virtual void m_fn1 ();
14
};
15
class A
16
{
17
public:
18
C *m_fn2 ();
19
};
20
class D
21
{
22
public:
23
void
24
m_fn3 ()
25
{
26
list_m->m_fn2 ()->m_fn1 ();
27
}
28
B list_m;
29
};
30
31
class F
32
{
33
public:
34
D m_fn4 ();
35
};
36
class G
37
{
38
public:
39
F m_fn5 (int, int);
40
};
41
class H
42
{
43
public:
44
void
45
m_fn6 ()
46
{
47
fieldEngine_m.m_fn5 (0, 0).m_fn4 ().m_fn3 ();
48
}
49
G fieldEngine_m;
50
};
51
52
void
53
fn1 (H a)
54
{
55
a.m_fn6 ();
56
}