// { 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; }