diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C new file mode 100644 index 000000000..d91987bdf --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C @@ -0,0 +1,25 @@ +// { dg-do assemble } +// g++ 1.36.1 bug 891229_02 + +// g++ limits the scope of names which are declared as typedef names within +// another type to that other type. + +// This conflicts with the (global) scope given to such names by cfront 2.0. + +// Cfront 2.0 passes this test. + +// Note 2/15/94: The standard has changed; this limiting of scope is correct +// behavior. See 9.9. --jason + +// keywords: typedef, nested types, scope + +struct foo { + foo (); + typedef void (*function_p) (void); +}; + +function_p fp; // { dg-error "" } no such type in scope + +foo::foo () {} + +int main () { return 0; } |