strub: enable conditional support
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr10148.C
blobed278f9f8d85933a99f71ee372d80cf10d46de35
1 /* { dg-do run } */
3 #include <stdlib.h>
4 #include <assert.h>
6 static bool flag = false;
8 class C
10   bool prev;
12 public:
13   C() : prev(flag)
14   {
15     flag = true;
16   }
18   ~C() {
19     flag = prev;
20   }
23 void* operator new(size_t size)
25   assert(flag);
26   return malloc(size);
29 void operator delete(void *p)
31   free(p);
34 void g(int* p)
36   delete p;
39 void f()
41   int* p;
42   {
43     C c;
44     p = new int;
45   }
46   g(p);
49 int main(int, char**)
51   f();