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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [temps4.C] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
// { dg-do run  }
// { dg-do run  }
// { dg-options "-felide-constructors" }
// { dg-options "-felide-constructors" }
// GROUPS passed temps
// GROUPS passed temps
// temps file
// temps file
// Message-Id: <9311102043.AA22871@ses.com>
// Message-Id: <9311102043.AA22871@ses.com>
// From: jamshid@ses.com (Jamshid Afshar)
// From: jamshid@ses.com (Jamshid Afshar)
// Subject: elide-constructors (aka return value optimization)
// Subject: elide-constructors (aka return value optimization)
// Date: Wed, 10 Nov 93 14:43:54 CST
// Date: Wed, 10 Nov 93 14:43:54 CST
#include 
#include 
#include 
#include 
class X {
class X {
    int i;
    int i;
  public:
  public:
    X();
    X();
    X(const X&);
    X(const X&);
    X(int);
    X(int);
    ~X();
    ~X();
};
};
int did_it = 0;
int did_it = 0;
X::X() { ; }
X::X() { ; }
X::X(const X&) { did_it = 1; }
X::X(const X&) { did_it = 1; }
X::X(int) { ; }
X::X(int) { ; }
X::~X() { ; }
X::~X() { ; }
X foo() {
X foo() {
    X x(1);
    X x(1);
    return x;
    return x;
}
}
main() {
main() {
    X x = foo();
    X x = foo();
    if (did_it)
    if (did_it)
        abort ();
        abort ();
    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.