Small ChangeLog tweak.
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.law / temps5.C
blobe33962e1c44e1bfd1f0ed330a5309fccd4f50970
1 // { dg-do run  }
2 // GROUPS passed temps
3 // temps file
4 // Message-Id: <9311171029.AA00592@mencon>
5 // From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
6 // Subject: gcc 2.5.3 - bug deleting object that is still referred to
7 // Date: Wed, 17 Nov 93 21:29:23 EST
9 #include        <stdio.h>
11 class C {
12 public:
13         C(int i) : val(i) { ; }
14         C(const C& c) : val(c.val) { ; }
15         ~C(void) { val = 999; }
16         C& operator = (const C& c) { val = c.val; return *this; }
18         C& inc(int i) { val += i; return *this; }
20         int val;
24 f(void)
26         return C(3);
30 f(int i)
32         return f().inc(i);
35 int
36 main(void)
38         if (f (2).val != 5)
39                 { printf ("FAIL\n"); return 1; }
40         else
41                 printf ("PASS\n");