// CHECK-MESSAGES: :[[@LINE+1]]:8: warning: declaration of 'operator delete' has no matching declaration of 'operator new' at the same scope [misc-new-delete-overloads]
voidoperatordelete(void*ptr,size_t)noexcept;// not a placement delete
};
structT{
// Because we have enabled sized deallocations explicitly, this new/delete
// pair matches.
void*operatornew(size_tsize)noexcept;
voidoperatordelete(void*ptr,size_t)noexcept;// ok because sized deallocation is enabled
};
// While we're here, check that global operator delete with no operator new
// is also matched.
// CHECK-MESSAGES: :[[@LINE+1]]:6: warning: declaration of 'operator delete' has no matching declaration of 'operator new' at the same scope