diff options
Diffstat (limited to 'test/SemaTemplate/derived.cpp')
-rw-r--r-- | test/SemaTemplate/derived.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaTemplate/derived.cpp b/test/SemaTemplate/derived.cpp index 7b91f9a..ce20cea 100644 --- a/test/SemaTemplate/derived.cpp +++ b/test/SemaTemplate/derived.cpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s template<typename T> class vector2 {}; template<typename T> class vector : vector2<T> {}; @@ -28,3 +29,26 @@ namespace rdar13267210 { } }; } + +namespace PR16292 { + class IncompleteClass; // expected-note{{forward declaration}} + class BaseClass { + IncompleteClass Foo; // expected-error{{field has incomplete type}} + }; + template<class T> class DerivedClass : public BaseClass {}; + void* p = new DerivedClass<void>; +} + +namespace rdar14183893 { + class Typ { // expected-note {{not complete}} + Typ x; // expected-error {{incomplete type}} + }; + + template <unsigned C> class B : Typ {}; + typedef B<0> TFP; + + class A { + TFP m_p; + void Enable() { 0, A(); } // expected-warning {{unused}} + }; +} |