new
From-SVN: r21074
This commit is contained in:
parent
744fac594b
commit
841f616caa
9 changed files with 91 additions and 1 deletions
|
@ -5,7 +5,7 @@ template<class E,class F> class D
|
|||
};
|
||||
|
||||
template<template<class> class D,class E> class C
|
||||
{ // ERROR - ref below
|
||||
{
|
||||
};
|
||||
|
||||
int main()
|
||||
|
|
7
gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
Normal file
7
gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
Normal file
|
@ -0,0 +1,7 @@
|
|||
// Build don't link:
|
||||
|
||||
template<class M, class T> struct temp2;
|
||||
template<template<class> class M, class T> struct temp2<M<T>, T> {};
|
||||
|
||||
template<class M> struct temp1;
|
||||
template<template<class> class M, class T> struct temp1<M<T> > {};
|
4
gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
Normal file
4
gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
Normal file
|
@ -0,0 +1,4 @@
|
|||
// Build don't link:
|
||||
|
||||
template <template<class> class TT> void f() {}
|
||||
template <template<class,class> class TT> void f() {}
|
16
gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
Normal file
16
gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
Normal file
|
@ -0,0 +1,16 @@
|
|||
template <template<class,class> class TT, class T> void f(T)
|
||||
{
|
||||
}
|
||||
|
||||
template <template<class> class TT, class T> void f(T)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T> class C {};
|
||||
template <class T,class U> class D {};
|
||||
|
||||
int main()
|
||||
{
|
||||
f<C>(1);
|
||||
f<D>(1);
|
||||
}
|
16
gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
Normal file
16
gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
Normal file
|
@ -0,0 +1,16 @@
|
|||
template <template<int> class TT, class T> void f(T)
|
||||
{
|
||||
}
|
||||
|
||||
template <template<class> class TT, class T> void f(T)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T> class C {};
|
||||
template <int> class D {};
|
||||
|
||||
int main()
|
||||
{
|
||||
f<C>(1);
|
||||
f<D>(1);
|
||||
}
|
9
gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
Normal file
9
gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
Normal file
|
@ -0,0 +1,9 @@
|
|||
// Build don't link:
|
||||
|
||||
template <int i> class C {};
|
||||
template <template <long> class TT> class D {};
|
||||
|
||||
int main()
|
||||
{
|
||||
D<C> d; // ERROR - args not match
|
||||
}
|
7
gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
Normal file
7
gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
Normal file
|
@ -0,0 +1,7 @@
|
|||
template <class T, template <T> class TT> class C {};
|
||||
template <int> class D {};
|
||||
|
||||
int main()
|
||||
{
|
||||
C<int,D> c;
|
||||
}
|
13
gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
Normal file
13
gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
Normal file
|
@ -0,0 +1,13 @@
|
|||
template<class E, int i, class F, class G=int, int j=i, class H=E> class D
|
||||
{
|
||||
};
|
||||
|
||||
template<template<class,int,class,class> class D,class E> class C
|
||||
{
|
||||
D<E,2,char,bool> d;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
C<D,int> c;
|
||||
}
|
18
gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
Normal file
18
gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Build don't link:
|
||||
|
||||
template<class A,class B> class mymap {};
|
||||
|
||||
template<class Key,
|
||||
class Value,
|
||||
template<class, class > class MapT>
|
||||
class base
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
// specialization
|
||||
template<class Key, class Value>
|
||||
class base<Key, Value, mymap<int, int > > // ERROR - mymap<...> is not a template
|
||||
{ // ERROR - Bad class name
|
||||
|
||||
};
|
Loading…
Add table
Reference in a new issue