Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / torture / pr10148.C
blob23a53916ebd1af679ceb33ca26cc6b6ee466fd07
1 /* { dg-do run } */
2 /* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
3 /* { dg-additional-options "-fno-assume-sane-operators-new-delete" } */
5 #include <stdlib.h>
6 #include <assert.h>
8 static bool flag = false;
10 class C
12   bool prev;
14 public:
15   C() : prev(flag)
16   {
17     flag = true;
18   }
20   ~C() {
21     flag = prev;
22   }
25 void* operator new(size_t size)
27   assert(flag);
28   return malloc(size);
31 void operator delete(void *p)
33   free(p);
36 void g(int* p)
38   delete p;
41 void f()
43   int* p;
44   {
45     C c;
46     p = new int;
47   }
48   g(p);
51 int main(int, char**)
53   f();