OSDN Git Service

Initial revision
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.law / ctors16.C
1 // GROUPS passed constructors
2 // ctor file
3 // Message-Id: <9306021533.AA14347@icepick.jts.com>
4 // From: roland@jts.com (Roland Knight )
5 // Subject: gcc 2.4.1 bug
6 // Date:   Wed, 2 Jun 1993 11:33:34 -0400
7
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11
12 char stuff[50];
13 char *p = stuff;
14
15 class A {
16 public:
17     A() { *p++ = 'A';}
18 };
19
20 class B {
21 public:
22     B() { *p++ = 'B'; }
23 };
24
25 class C : public A, public B {
26 public:
27     C() : B(), A() { *p++ = 'C'; }
28 };
29
30 class D : public A, public B {
31 public:
32     D() : B() { *p++ = 'D'; }
33 };
34
35 class E : public A, public B {
36 public:
37     E() { *p++ = 'E'; }
38 };
39
40
41 main() {
42     C c;
43     D d;
44     E e;
45     if (strncmp ("ABCABDABE", stuff, 9))
46         printf ("FAIL\n");
47     else
48         printf ("PASS\n");
49 }