URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
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.
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.