summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/dtor8.C
blob: 5f2071d5a79753524584c69373c7954bd97e963f (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// { dg-do run  }
// { dg-options "-O1" }
// Origin: Mark Mitchell <mark@codesourcery.com>

int result;

struct S
{
  S ();
  S (const S&);
  ~S ();
  
  int i;
  double d[18];
};

S* s;

S::S ()
{
  s = this;
}

S::~S ()
{
  if (s != this)
    result = 1;
}

inline S f ()
{
  return S ();
}

int main ()
{
  f ();
  return result;
}