summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C')
-rwxr-xr-xgcc/testsuite/g++.old-deja/g++.bugs/891229_02.C24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
new file mode 100755
index 0000000..042096c
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
@@ -0,0 +1,24 @@
+// 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; // ERROR - no such type in scope
+
+foo::foo () {}
+
+int main () { return 0; }