summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lto/20081008_0.C
blob: 258265a4fe13769177ee0270980668a557d241cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// { dg-lto-do assemble }
// { dg-lto-options {{-flto}} }

struct Foo
{
 virtual void func() = 0;
};

struct Bar
{
 Foo *field;
 void func2();
};

struct Baz
{
 Bar &bar();
 Baz();
};

struct Zonk
{
 virtual ~Zonk() {
 }
 virtual void func3() = 0;
};

void Mumble(Zonk *) {
}

extern "C"
{
 void __attribute__ ((nothrow)) __cxa_pure_virtual() {
   Baz().bar().func2();
 }
}