Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / warn / Wfree-nonheap-object-4.C
blob943ef0cd1abf6a10f2b81b38c32a9d41ea3826b8
1 /* PR middle-end/98160: bogus -Wfree-nonheap-object calling member delete
2    on the result of inline member new plus offset
3    { dg-do compile }
4    { dg-options "-O2" } */
6 struct MemoryManager { void* allocate (); };
8 struct XMemory
10   void* operator new (__SIZE_TYPE__, MemoryManager *mgr)
11   {
12     void *p = mgr->allocate ();
13     return (char*)p + sizeof(MemoryManager);
14   }
16   void operator delete (void*, MemoryManager*);
19 struct XMLMutex: XMemory {
20   XMLMutex();
23 void gValidatorMutex (MemoryManager *mgr)
25   new (mgr) XMLMutex;   // { dg-bogus "\\\[-Wfree-nonheap-object" }