aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/return2.C
blob: 272390903e809a18245c465824aff1e359cbfe8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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;
}