• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 // PR3990
4 namespace N {
5   struct Wibble {
6   };
7 
8   typedef Wibble foo;
9 }
10 using namespace N;
11 
12 foo::bar x; // expected-error{{no type named 'bar' in 'N::Wibble'}}
13 
f()14 void f() {
15   foo::bar  = 4; // expected-error{{no member named 'bar' in 'N::Wibble'}}
16 }
17 
18 template<typename T>
19 struct A {
20   typedef T type;
21 
22   type f();
23 };
24 
25 template<typename T>
g(T t)26 A<T>::type g(T t) { return t; } // expected-error{{missing 'typename'}}
27 
28 template<typename T>
f()29 A<T>::type A<T>::f() { return type(); } // expected-error{{missing 'typename'}}
30