URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
// GROUPS passed scoping
|
// GROUPS passed scoping
|
// scoping file
|
// scoping file
|
// From: svkakkad@cs.utexas.edu (Sheetal V. Kakkad)
|
// From: svkakkad@cs.utexas.edu (Sheetal V. Kakkad)
|
// Date: Tue, 5 Oct 93 12:38:49 -0500
|
// Date: Tue, 5 Oct 93 12:38:49 -0500
|
// Subject: G++ 2.4.5 - global delete operator not called when using "::delete"
|
// Subject: G++ 2.4.5 - global delete operator not called when using "::delete"
|
// Message-ID: <9310051738.AA14586@boogie.cs.utexas.edu>
|
// Message-ID: <9310051738.AA14586@boogie.cs.utexas.edu>
|
|
|
#include
|
#include
|
#include
|
#include
|
#include
|
#include
|
|
|
class foo
|
class foo
|
{
|
{
|
public:
|
public:
|
foo () { ; }
|
foo () { ; }
|
~foo () { ; }
|
~foo () { ; }
|
void *operator new (size_t);
|
void *operator new (size_t);
|
void operator delete (void *);
|
void operator delete (void *);
|
};
|
};
|
|
|
void *foo::operator new (size_t size)
|
void *foo::operator new (size_t size)
|
{
|
{
|
return malloc (size);
|
return malloc (size);
|
}
|
}
|
|
|
int overloaded_delete = 0;
|
int overloaded_delete = 0;
|
|
|
void foo::operator delete (void *data)
|
void foo::operator delete (void *data)
|
{
|
{
|
free ((char *) data);
|
free ((char *) data);
|
overloaded_delete++;
|
overloaded_delete++;
|
}
|
}
|
|
|
int main ()
|
int main ()
|
{
|
{
|
foo *f = new foo;
|
foo *f = new foo;
|
foo *ff = ::new foo;
|
foo *ff = ::new foo;
|
::delete ff; // should call the default delete operator
|
::delete ff; // should call the default delete operator
|
delete f;
|
delete f;
|
if (overloaded_delete == 1)
|
if (overloaded_delete == 1)
|
printf ("PASS\n");
|
printf ("PASS\n");
|
else
|
else
|
{ printf ("FAIL\n"); return 1; }
|
{ printf ("FAIL\n"); return 1; }
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.