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
[31/77] Use scalar_int_mode for move2add
[official-gcc.git]
/
gcc
/
testsuite
/
g++.old-deja
/
g++.mike
/
p4246.C
blob
c81ae7571ca0310c9fd8d7c0111d9413d14da45d
1
// { dg-do run }
2
// prms-id: 4246
3
4
extern "C" void abort ();
5
int num_d;
6
7
class A
8
{
9
public:
10
A() { }
11
virtual ~A() { }
12
virtual void id() { }
13
};
14
15
class B
16
{
17
public:
18
B() { }
19
virtual ~B() { }
20
virtual void id() { }
21
};
22
23
class C : public A, public B
24
{
25
public:
26
C() { }
27
virtual ~C() { }
28
void id() { abort(); }
29
};
30
31
class D : public C
32
{
33
public:
34
D() { ++num_d; }
35
virtual ~D() { -- num_d; }
36
void id() { }
37
};
38
39
int main()
40
{
41
D* dp2 = new D;
42
((B*)dp2)->id();
43
delete (B*) dp2;
44
45
B* bp1 = new D;
46
bp1->id();
47
delete bp1;
48
return num_d != 0;
49
}