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++.jason/] [opeq.C] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do run  }
2
// PRMS Id: 4297 (related to 3525)
3
// Bug: Generating default op= didn't set TYPE_HAS_ASSIGNMENT, so it wasn't
4
// found.
5
 
6
extern "C" int printf (const char *, ...);
7
 
8
class Y
9
{
10
public:
11
    Y(const char*) {}
12
    Y& operator = (const Y&) { return *this; }
13
};
14
 
15
 
16
class X
17
{
18
public:
19
    X(int v, const char* m) : _v(v), _m (m) {}
20
    X () : _v(0), _m("Unknown") {}
21
    // Defining our own op= here makes things work correctly.
22
 
23
private:
24
    int _v;
25
    int _m4;
26
    // Adding more members here increases the count on u.
27
    Y _m;
28
};
29
 
30
const X sPassed (1, "Passed"), sFailed (-1, "Failed");
31
 
32
int main (int, char**)
33
{
34
    X result;
35
    int u = 0;
36
    result = (u++ ? sPassed : sFailed);
37
    if (u == 1)
38
      return 0;
39
    return 1;
40
}

powered by: WebSVN 2.1.0

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