aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload7.C20
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 621a625..be9f577 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,7 @@
1998-12-03 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * g++.old-deja/g++.pt/overload7.C: New test.
+
* g++.old-deja/g++.pt/spec20.C: ERROR marks were bogus
* lib/old-dejagnu.exp (old-dejagnu): ignore collect recompiling
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload7.C b/gcc/testsuite/g++.old-deja/g++.pt/overload7.C
new file mode 100644
index 0000000..bfd8b5a
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/overload7.C
@@ -0,0 +1,20 @@
+// Build don't link:
+
+// Adapted from testcase by Corey Kosak <kosak@cs.cmu.edu>
+
+template<class T>
+struct moo_t {
+ struct cow_t {};
+};
+
+template<class T> void foo(typename moo_t<T>::cow_t) {}
+
+template<class T> void foo(moo_t<T>) {
+ typename moo_t<T>::cow_t p;
+ foo(p); // gets bogus error - no matching function for call - XFAIL *-*-*
+}
+
+int main() {
+ moo_t<int> x;
+ foo(x); // gets bogus error - instantiated from here - XFAIL *-*-*
+}