OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [temps5.C] - Diff between revs 305 and 338

Go to most recent revision | 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");
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.