diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/overload7.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/overload7.C | 21 |
1 files changed, 21 insertions, 0 deletions
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 000000000..6f5dff0a2 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/overload7.C @@ -0,0 +1,21 @@ +// { dg-do assemble } +// { dg-prune-output "note" } + +// 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); // { dg-bogus "" "" { xfail *-*-* } } - no matching function for call - +} + +int main() { + moo_t<int> x; + foo(x); // { dg-bogus "" "" { xfail *-*-* } } - instantiated from here - +} |