aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
diff options
context:
space:
mode:
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.C25
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; }