diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/overload7.C | 20 |
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 *-*-* +} |