blob: b486fc664525e093f2475802e6f67c56623dbacb [file] [log] [blame]
// { dg-do run }
// g++ 1.36.1 bug 900107_01
// Unlike GCC and Cfront 2.0, the g++ 1.36.1 compiler gives struct, union,
// and class declarations which are nested within blocks file scope.
// Cfront 2.0 passes this test.
// keywords: block scope, file scope, nested types, tagged types
class c1 { int c1_member1; };
struct s1 { int s1_member1; };
union u1 { int u1_member1; };
enum e1 { e1_val1 };
typedef int t1;
void foo ()
{
class c1 { // { dg-bogus "" }
int c1_member1;
} c1_local_object_0;
struct s1 { // { dg-bogus "" }
int s1_member1;
} s1_local_object_0;
union u1 { // { dg-bogus "" }
int u1_member1;
} u1_local_object_0;
enum e1 { // OK using g++ or GCC, but mishandled by Cfront 2.0.
e1_value1
} e1_local_object_0;
typedef int t1; // OK
}
int main () { return 0; }