-// GROUPS passed ARM-compliance
-// arm file
-// From: Johan Bengtsson <jbn@lulea.trab.se>
-// Date: Thu, 21 Oct 93 16:10:25 +0100
-// Subject: gcc 2.4.5 initializes base classes in mem-initializer order
-// Message-ID: <9310211510.AA14943@holden.lulea.trab.se>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int state = 0;
-
-class A { public:
- A() {
- if (state == 0)
- state = 1;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-class B { public:
- B() {
- if (state == 1)
- state = 2;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-class AB : public A, public B { public:
- AB() : B(), A() {
- if (state == 2)
- state = 3;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-int main()
-{
- AB ab;
- if (state == 3)
- printf("PASS\n");
- else
- printf("FAIL\n");
- exit (state != 3);
-}