OSDN Git Service

PR c++/18451
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / parse / error36.C
index 92101e9..0d7f8cf 100644 (file)
@@ -1,17 +1,33 @@
+// PR c++/15946
 // Test for helpful error message about missing typename.
 
-template <class T> struct A { typedef T foo; typedef T bar; };
+template <class T> struct A
+{
+  struct B { };
+  static B b;
+};
+
 template <class T>
 void f(T t)
 {
   typedef A<T>::foo type;      // { dg-error "typename" }
   A<T>::bar b;                 // { dg-error "typename" }
-} // { dg-error "expected ';'" "" { target *-*-* } 8 }
+} // { dg-error "expected ';'" "" { target *-*-* } 14 }
 
+// PR c++/36353
 template <class T> struct B
 {
   void f()
   {
     A<T>::baz z;               // { dg-error "typename" }
-  } // { dg-error "expected ';'" "" { target *-*-* } 15 }
+  } // { dg-error "expected ';'" "" { target *-*-* } 22 }
 };
+
+// PR c++/40738
+template <class T>
+void g(const A<T>::type &t);   // { dg-error "typename" }
+// { dg-error "no type" "" { target *-*-* } 28 }
+
+// PR c++/18451
+template <class T> A<T>::B A<T>::b; // { dg-error "typename" }
+// { dg-error "expected" "" { target *-*-* } 32 }