blob: 749c87f01a7e95cc2df5ce9a7f636c4a5210ad4f [file] [log] [blame]
// { dg-do assemble }
// GROUPS passed delete
/*
Bug Id:
PRMS Id: p0000710
Bug is : overloading operator delete in class def not allowed
*/
/*
In addition to this bug, the compiler permits overloading operator
delete in the class definition. This is verboten, and should be
caught by a regression suite. In other words, the following is also a
bug that's not caught:
*/
#include <stdlib.h>
extern "C"
{
int printf(const char*, ...);
}
class B
{
public:
int x;
virtual ~B() {}
void operator delete(void*,size_t s)
{
/* APPLE LOCAL default to Wformat-security 5764921 */
printf("B::delete() %d\n", (int)s);
}
void operator delete(void*){}
};
int main()
{
B* p = new B;
delete p;
return 0;
}