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++.brendan/] [nest18.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 assemble  }
// { dg-do assemble  }
// GROUPS passed nested-classes
// GROUPS passed nested-classes
// This is the first line of file ||t2.C||.
// This is the first line of file ||t2.C||.
// This code demonstrates what appears to be a bug with nested types.
// This code demonstrates what appears to be a bug with nested types.
// In C++, nested typedefs are not supposed to be visible outside
// In C++, nested typedefs are not supposed to be visible outside
// their class scopes but they apparently are in gcc 2.4.5.  This code
// their class scopes but they apparently are in gcc 2.4.5.  This code
// compiles fine in AT&T cfront 3.0.1, but will not compile with gcc.
// compiles fine in AT&T cfront 3.0.1, but will not compile with gcc.
// If this class does not precede String, then the code will compile.
// If this class does not precede String, then the code will compile.
class Another {
class Another {
public:
public:
    typedef int Length;
    typedef int Length;
};
};
// If String does not define typedef int Length, then the code will
// If String does not define typedef int Length, then the code will
// compile.
// compile.
class String {
class String {
public:
public:
    typedef int Length;         // remove this and it will compile fine
    typedef int Length;         // remove this and it will compile fine
    int foo(Length length) const;
    int foo(Length length) const;
};
};
int String::foo(Length length) const {
int String::foo(Length length) const {
    return length;
    return length;
}
}
// File ||t2.C|| ends here.
// File ||t2.C|| ends here.
 
 

powered by: WebSVN 2.1.0

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