blob: af9791c5769c2d95f3383387b10c907d53245899 [file] [log] [blame]
// { dg-do run }
// PRMS Id: 5331
// Bug: the return value of foo is constructed in a temporary and then
// copied into the return slot. This is not necessary.
int c = 0;
struct X {
X(int i) { }
X(X const &XX) { c = 1; }
~X() { }
};
const X foo() {
return X(3);
}
int main()
{
foo();
return c;
}