Home | History | Annotate | Download | only in SemaObjCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
      2 struct Y { 
      3   Y(); 
      4 
      5 private:
      6   ~Y(); // expected-note 3{{declared private here}}
      7 };
      8 
      9 template<typename T>
     10 struct X : T { }; // expected-error 2{{private destructor}}
     11 
     12 struct Z; // expected-note{{forward declaration}}
     13 
     14 @interface A {
     15   X<Y> x; // expected-note{{implicit destructor}}
     16   Y y; // expected-error{{private destructor}}
     17 }
     18 @end
     19 
     20 @implementation A // expected-note{{implicit default constructor}}
     21 @end
     22 
     23 @interface B {
     24   Z z; // expected-error{{incomplete type}}
     25 }
     26 @end
     27 
     28 @implementation B
     29 @end
     30 
     31 // <rdar://problem/11284902>
     32 template<typename T> struct Incomplete; // expected-note{{declared here}}
     33 
     34 @interface C {
     35   Incomplete<int> a[4][4][4]; // expected-error{{implicit instantiation of undefined template 'Incomplete<int>'}}
     36 }
     37 @end
     38