1// { dg-do run  }
2// { dg-options "-fcheck-new -pedantic" }
3// PRMS Id: 6037
4
5extern "C" void * malloc (__SIZE_TYPE__);
6
7int ena = 0;
8
9struct A {
10  int i;
11  A () { i = 2; }
12  void * operator new (__SIZE_TYPE__ s)
13  {
14    if (ena)
15      return 0;
16    return malloc (s);
17  }
18};
19
20struct B {
21  int i;
22  B () { i = 2; }
23  void * operator new (__SIZE_TYPE__ s) throw()
24  {
25    if (ena)
26      return 0;
27    return malloc (s);
28  }
29};
30
31int main ()
32{
33  ena = 1;
34  A *ap = new A;
35  B *bp = new B;
36
37  return ap || bp ;
38}
39