summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/return2.C
blob: 132c07929ff2455b0e09064468517c9c8061baf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// { dg-do run  }
// PRMS Id: 5368
// Bug: the X temporary in foo() is not destroyed.

int c = 0;

struct X {
  X (int) { c++; }
  ~X() { c--; }
};

struct Y {
   Y(const X &) { }
};

Y foo() { 
  return X(3); 
}

int main()
{
  foo();
  return c;
}