URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
// GROUPS passed temps
|
// GROUPS passed temps
|
// temps file
|
// temps file
|
// Message-Id: <9311171029.AA00592@mencon>
|
// Message-Id: <9311171029.AA00592@mencon>
|
// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
|
// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
|
// Subject: gcc 2.5.3 - bug deleting object that is still referred to
|
// Subject: gcc 2.5.3 - bug deleting object that is still referred to
|
// Date: Wed, 17 Nov 93 21:29:23 EST
|
// Date: Wed, 17 Nov 93 21:29:23 EST
|
|
|
#include
|
#include
|
|
|
class C {
|
class C {
|
public:
|
public:
|
C(int i) : val(i) { ; }
|
C(int i) : val(i) { ; }
|
C(const C& c) : val(c.val) { ; }
|
C(const C& c) : val(c.val) { ; }
|
~C(void) { val = 999; }
|
~C(void) { val = 999; }
|
C& operator = (const C& c) { val = c.val; return *this; }
|
C& operator = (const C& c) { val = c.val; return *this; }
|
|
|
C& inc(int i) { val += i; return *this; }
|
C& inc(int i) { val += i; return *this; }
|
|
|
int val;
|
int val;
|
};
|
};
|
|
|
C
|
C
|
f(void)
|
f(void)
|
{
|
{
|
return C(3);
|
return C(3);
|
}
|
}
|
|
|
C
|
C
|
f(int i)
|
f(int i)
|
{
|
{
|
return f().inc(i);
|
return f().inc(i);
|
}
|
}
|
|
|
int
|
int
|
main(void)
|
main(void)
|
{
|
{
|
if (f (2).val != 5)
|
if (f (2).val != 5)
|
{ printf ("FAIL\n"); return 1; }
|
{ printf ("FAIL\n"); return 1; }
|
else
|
else
|
printf ("PASS\n");
|
printf ("PASS\n");
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.