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
Be careful about comdat boundary in ICF (PR ipa/82352).
[official-gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
opt
/
vt3.C
blob
0cef67206e012656a10f77ddc6d18e5be8f80a51
1
// PR c++/34949
2
// { dg-do compile }
3
// { dg-options "-O3" }
4
5
struct E {};
6
struct A
7
{
8
virtual void a (void *) = 0;
9
};
10
struct B
11
{
12
virtual ~B () {};
13
unsigned int b1;
14
E **b2;
15
A *b3;
16
};
17
struct C : public B
18
{
19
~C ();
20
};
21
C::~C ()
22
{
23
for (unsigned int i = 0; i < b1; i++)
24
b3->a (b2);
25
}
26
struct D
27
{
28
~D () {}
29
C d;
30
};
31
struct F { virtual ~F () {}; };
32
struct G { void g (); };
33
struct H : public F
34
{
35
virtual ~H ();
36
D *h1;
37
G *h2;
38
};
39
H::~H ()
40
{
41
h2->g ();
42
delete h1;
43
}