summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C')
-rwxr-xr-xgcc/testsuite/g++.old-deja/g++.bugs/900511_02.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
new file mode 100755
index 0000000..cef71c0
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
@@ -0,0 +1,21 @@
+// g++ 1.37.1 bug 900511_02
+
+// g++ does not properly shadow names of types with names of data members
+// in cases where the type names in question are used in the context of
+// formal parameters lists for member functions.
+
+// keywords: typedef names, shadowing, scope, formal parameter list
+
+// cfront 2.0 passes this test.
+
+enum enum0 { enum0_value_0 };
+
+struct struct0 {
+ int enum0;
+ void member_function (enum0 e); // ERROR - invalid use of struct-local member
+};
+
+void class0::member_function (enum0 e) { // ERROR - syntax error
+}
+
+int main () { return 0; }