diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/template25.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/template25.C | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template25.C b/gcc/testsuite/g++.old-deja/g++.jason/template25.C deleted file mode 100644 index 9704412263e..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.jason/template25.C +++ /dev/null @@ -1,48 +0,0 @@ -// PRMS Id: 6393 -// Bug: g++ is too lax in considering UPTs to be the same. - -template <class R, class T> -class Bar -{ -public: - R do_bar (T arg); -}; - - -template <class T> -class Foo -{ - T i; - -public: - void do_foo () {} - void do_foo (T const & t) {} - void do_foo (Bar<char, T> const & bar); // {} Put the body here and it works - void do_foo (Bar<T, T> const & bar); // {} Put the body here and it works -}; - -// These definitions don't work - -template <class T> -inline void Foo<T>:: -do_foo (Bar<char, T> const & bar) -{} - -template <class T> -inline void Foo<T>:: -do_foo (Bar<T, T> const & bar) -{} - - -int main () -{ int i; - Bar<char, int> bar1; - Bar<int, int> bar2; - Foo<int> foo; - foo.do_foo(); - foo.do_foo(i); - foo.do_foo(bar1); - foo.do_foo(bar2); - - return 0; -} |