// RUN: %clang_cc1 -verify %s

template <class T> struct Base { // expected-note 4 {{member found by ambiguous name lookup}}
  static void f();
}; 

struct X0 { };

template <class T> struct Derived: Base<int>, Base<char> {
  typename Derived::Base b;	// expected-error{{member 'Base' found in multiple base classes of different types}}
  typename Derived::Base<double> d;	// OK

  void g(X0 *t) {
    t->Derived::Base<T>::f();
    t->Base<T>::f();
    t->Base::f(); // expected-error{{member 'Base' found in multiple base classes of different types}} \
    // expected-error{{no member named 'f' in 'X0'}} \
    // expected-error{{expected a class or namespace}}
  }
};

namespace PR6717 {
  template <typename T>
  class WebVector {
  } // expected-error {{expected ';' after class}}

    WebVector(const WebVector<T>& other) { } // expected-error{{undeclared identifier 'T'}} \
                                                expected-error{{requires a type specifier}}

  template <typename C>
  WebVector<T>& operator=(const C& other) { } // expected-error{{undeclared identifier 'T'}}
}
