blob: edb3ebec25d09ba87f78be6dfdfb854454d660bc (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
// { dg-do run }
// GROUPS passed constructors
// ctor file
// Message-Id: <9306021533.AA14347@icepick.jts.com>
// From: roland@jts.com (Roland Knight )
// Subject: gcc 2.4.1 bug
// Date: Wed, 2 Jun 1993 11:33:34 -0400
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char stuff[50];
char *p = stuff;
class A {
public:
A() { *p++ = 'A';}
};
class B {
public:
B() { *p++ = 'B'; }
};
class C : public A, public B {
public:
C() : B(), A() { *p++ = 'C'; }
};
class D : public A, public B {
public:
D() : B() { *p++ = 'D'; }
};
class E : public A, public B {
public:
E() { *p++ = 'E'; }
};
int main() {
C c;
D d;
E e;
if (strncmp ("ABCABDABE", stuff, 9))
{ printf ("FAIL\n"); return 1; }
else
printf ("PASS\n");
}
|