]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaObjCXX/ivar-construct.mm
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / SemaObjCXX / ivar-construct.mm
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