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
* auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count.
[official-gcc.git]
/
gcc
/
testsuite
/
g++.dg
/
inherit
/
virtual8.C
blob
4f6a119b2879efe42cfd1f720536c0ef21090dca
1
// PR c++/48035
2
// { dg-do run }
3
4
#include <new>
5
#include <cstring>
6
#include <cstdlib>
7
8
struct A
9
{
10
virtual void foo (void) {}
11
virtual ~A () {}
12
};
13
14
struct B : public A
15
{
16
virtual ~B () {}
17
};
18
19
struct C
20
{
21
virtual ~C () {}
22
int c;
23
};
24
25
struct D : public virtual B, public C
26
{
27
virtual ~D () {}
28
};
29
30
struct E : public virtual D
31
{
32
virtual ~E () {}
33
};
34
35
int
36
main ()
37
{
38
char *v = new char[sizeof (E) + 16];
39
memset (v, 0x55, sizeof (E) + 16);
40
E *e = new (v) E ();
41
e->~E ();
42
43
for (unsigned i = sizeof (E); i < sizeof (E) + 16; ++i)
44
if (v[i] != 0x55)
45
abort ();
46
47
delete[] v;
48
}