1 /* PR middle-end/98160: bogus -Wfree-nonheap-object calling member delete
2 on the result of inline member new plus offset
4 { dg-options "-O2" } */
6 struct MemoryManager { void* allocate (); };
10 void* operator new (__SIZE_TYPE__, MemoryManager *mgr)
12 void *p = mgr->allocate ();
13 return (char*)p + sizeof(MemoryManager);
16 void operator delete (void*, MemoryManager*);
19 struct XMLMutex: XMemory {
23 void gValidatorMutex (MemoryManager *mgr)
25 new (mgr) XMLMutex; // { dg-bogus "\\\[-Wfree-nonheap-object" }