mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-18 00:39:52 +08:00
new
From-SVN: r18304
This commit is contained in:
parent
11686454d6
commit
b9af0782c4
23
gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
Normal file
23
gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
Normal file
@ -0,0 +1,23 @@
|
||||
#include <typeinfo>
|
||||
|
||||
template <class T>
|
||||
struct allocator {
|
||||
typedef T* pointer;
|
||||
|
||||
template <class U> struct rebind {
|
||||
typedef allocator<U> other;
|
||||
};
|
||||
};
|
||||
|
||||
template <class T, class Allocator>
|
||||
struct alloc_traits
|
||||
{
|
||||
typedef typename Allocator::template rebind<T>::other allocator_type;
|
||||
};
|
||||
|
||||
main ()
|
||||
{
|
||||
typedef alloc_traits<int, allocator<void> >::allocator_type at;
|
||||
|
||||
return typeid (at) != typeid (allocator <int>);
|
||||
}
|
20
gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
Normal file
20
gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
Normal file
@ -0,0 +1,20 @@
|
||||
template <class T> struct A {
|
||||
template <class U> struct B {
|
||||
template <class V> static void f () { }
|
||||
void g () { }
|
||||
};
|
||||
};
|
||||
|
||||
template <class T, class U>
|
||||
void f ()
|
||||
{
|
||||
A<T>::template B<U>::template f<T> ();
|
||||
typename A<T>::B<U> b;
|
||||
typename A<T>::template B<U> b2;
|
||||
b.A<T>::template B<U>::~B();
|
||||
}
|
||||
|
||||
main ()
|
||||
{
|
||||
f<int, char>();
|
||||
}
|
Loading…
Reference in New Issue
Block a user