aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/badopt1.C
blob: ea8b6844b680ed7ad62d57c1bc09ac6a15ae8fad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Based on a testcase by Bryan Weston <bryanw@bluemoon.sps.mot.com>
// egcs 1.1 fails to increment count

// execution test - XFAIL *-*-*

#include <cstdlib>

struct Base { Base() {} }; // removing the constructor fixes the problem
struct Derived : Base {}; // so does removing the base class

int main() {
  int count = 0;
  Derived* array[1]; // making this Base*[1] does not fix the problem
  array[count++] = new Derived (); // but then new Base() does
  if (count!=1)
    std::abort();
}