blob: 96aa4af672f50908e7d24fc291491ca028b9d9c2 [file] [log] [blame]
#ifndef OVERLOADED_DELETE_IN_HEADER
#define OVERLOADED_DELETE_IN_HEADER
struct DeleteInHeader {
int data;
static void operator delete(void *ptr);
};
void DeleteInHeader::operator delete(void *ptr) {
DeleteInHeader *self = (DeleteInHeader *)ptr;
self->data = 1; // no-warning: Still alive.
::operator delete(ptr);
self->data = 2; // expected-warning {{Use of memory after it is released [cplusplus.NewDelete]}}
}
#endif // OVERLOADED_DELETE_IN_SYSTEM_HEADER