aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.law/arg2.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/arg2.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg2.C22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg2.C b/gcc/testsuite/g++.old-deja/g++.law/arg2.C
new file mode 100644
index 00000000000..5dbf48389ca
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.law/arg2.C
@@ -0,0 +1,22 @@
+// Build don't link:
+// GROUPS passed arg-matching
+// arg-matching file
+// Message-Id: <199303032114.AA03574@kolvir.Boulder.ParcPlace.COM>
+// From: Warner Losh <imp@boulder.parcplace.com>
+// Subject: Overloading bug in g++ 2.3.3 (sparc) compiled by GNU C version 2.3.3
+// Date: Wed, 03 Mar 1993 14:14:02 MST
+
+class c1 { };
+
+typedef void (*fnp)(void *);
+typedef void (c1::*memfnp)(void *);
+extern void fn1( fnp );
+extern void fn1( c1*, memfnp );
+
+void f3(void *) { }
+
+void fn2()
+{
+ fn1((fnp) &f3); // Everybody likes this
+ fn1(&f3); // g++ complains here line 13
+}