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