1// GROUPS passed temps 2// temps file 3// Message-Id: <9311171029.AA00592@mencon> 4// From: gfm@mencon.mencon.oz.au (Graham Menhennitt) 5// Subject: gcc 2.5.3 - bug deleting object that is still referred to 6// Date: Wed, 17 Nov 93 21:29:23 EST 7 8#include <stdio.h> 9 10class C { 11public: 12 C(int i) : val(i) { ; } 13 C(const C& c) : val(c.val) { ; } 14 ~C(void) { val = 999; } 15 C& operator = (const C& c) { val = c.val; return *this; } 16 17 C& inc(int i) { val += i; return *this; } 18 19 int val; 20}; 21 22C 23f(void) 24{ 25 return C(3); 26} 27 28C 29f(int i) 30{ 31 return f().inc(i); 32} 33 34int 35main(void) 36{ 37 if (f (2).val != 5) 38 { printf ("FAIL\n"); return 1; } 39 else 40 printf ("PASS\n"); 41} 42