OSDN Git Service

* pt.c (tsubst, case TYPENAME_TYPE): Check TYPE_BEING_DEFINED
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.pt / spec28.C
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec28.C b/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
new file mode 100644 (file)
index 0000000..d63e796
--- /dev/null
@@ -0,0 +1,25 @@
+// Build don't link:
+
+template <class T> 
+struct S1 {
+  friend bool f<>(const S1&);
+  typedef T X;
+};
+
+template <class T>
+struct S2 {
+};
+
+template <class T>
+struct S2<S1<T> > {
+  typedef typename S1<T>::X Y;
+};
+
+template <class T>
+bool f(T);
+
+template <class T>
+typename S2<S1<T> >::Y
+f(const S1<T>&);
+
+template struct S1<int>;