OSDN Git Service

new
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Feb 1998 15:32:36 +0000 (15:32 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Feb 1998 15:32:36 +0000 (15:32 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18304 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/g++.old-deja/g++.pt/memclass4.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/memclass5.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass4.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
new file mode 100644 (file)
index 0000000..de490e0
--- /dev/null
@@ -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>);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
new file mode 100644 (file)
index 0000000..82dbd76
--- /dev/null
@@ -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>();
+}