URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
// Bug: the temporary returned from f is elided, causing a to be constructed
|
// Bug: the temporary returned from f is elided, causing a to be constructed
|
// twice but only destroyed once.
|
// twice but only destroyed once.
|
|
|
extern "C" int printf (const char *, ...);
|
extern "C" int printf (const char *, ...);
|
|
|
int c,d;
|
int c,d;
|
|
|
struct A {
|
struct A {
|
A (int) { c++; }
|
A (int) { c++; }
|
~A () { d++; }
|
~A () { d++; }
|
A (const A&) { c++; }
|
A (const A&) { c++; }
|
int i;
|
int i;
|
};
|
};
|
|
|
A f ()
|
A f ()
|
{ return 1; }
|
{ return 1; }
|
|
|
int main ()
|
int main ()
|
{
|
{
|
{
|
{
|
A a (1);
|
A a (1);
|
a = f ();
|
a = f ();
|
}
|
}
|
printf ("%d %d\n", c, d);
|
printf ("%d %d\n", c, d);
|
return c != d;
|
return c != d;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.