URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 301 |
Rev 338 |
// Bug: We were calling f() twice, for both the placement new and placement
|
// Bug: We were calling f() twice, for both the placement new and placement
|
// delete calls.
|
// delete calls.
|
|
|
// { dg-do run }
|
// { dg-do run }
|
|
|
void* operator new (__SIZE_TYPE__ sz, void*) { return operator new (sz); }
|
void* operator new (__SIZE_TYPE__ sz, void*) { return operator new (sz); }
|
void operator delete (void* p, void*) { operator delete (p); }
|
void operator delete (void* p, void*) { operator delete (p); }
|
|
|
struct A { A() { throw 1; } };
|
struct A { A() { throw 1; } };
|
|
|
int c;
|
int c;
|
void *f() { ++c; return 0; }
|
void *f() { ++c; return 0; }
|
|
|
int main()
|
int main()
|
{
|
{
|
try
|
try
|
{
|
{
|
new (f()) A;
|
new (f()) A;
|
}
|
}
|
catch (...) {}
|
catch (...) {}
|
return c != 1;
|
return c != 1;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.