Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.law/arm15.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run } // 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); }