From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/CXX/temp/temp.res/temp.local/p3.cpp | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 clang/test/CXX/temp/temp.res/temp.local/p3.cpp (limited to 'clang/test/CXX/temp/temp.res/temp.local/p3.cpp') diff --git a/clang/test/CXX/temp/temp.res/temp.local/p3.cpp b/clang/test/CXX/temp/temp.res/temp.local/p3.cpp new file mode 100644 index 0000000..54da885 --- /dev/null +++ b/clang/test/CXX/temp/temp.res/temp.local/p3.cpp @@ -0,0 +1,32 @@ +// RUN: %clang_cc1 -verify %s + +template struct Base { // expected-note 4 {{member found by ambiguous name lookup}} + static void f(); +}; + +struct X0 { }; + +template struct Derived: Base, Base { + typename Derived::Base b; // expected-error{{member 'Base' found in multiple base classes of different types}} + typename Derived::Base d; // OK + + void g(X0 *t) { + t->Derived::Base::f(); + t->Base::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 + class WebVector { + } // expected-error {{expected ';' after class}} + + WebVector(const WebVector& other) { } // expected-error{{undeclared identifier 'T'}} \ + expected-error{{requires a type specifier}} + + template + WebVector& operator=(const C& other) { } // expected-error{{undeclared identifier 'T'}} +} -- cgit v1.2.3