xref: /minix3/external/bsd/llvm/dist/clang/test/SemaCXX/PR10243.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
2*f4a2713aSLionel Sambuc 
3*f4a2713aSLionel Sambuc struct S; // expected-note 4{{forward declaration of 'S'}}
4*f4a2713aSLionel Sambuc 
5*f4a2713aSLionel Sambuc struct T0 {
6*f4a2713aSLionel Sambuc   S s; // expected-error{{field has incomplete type 'S'}}
7*f4a2713aSLionel Sambuc   T0() = default;
8*f4a2713aSLionel Sambuc };
9*f4a2713aSLionel Sambuc 
10*f4a2713aSLionel Sambuc struct T1 {
11*f4a2713aSLionel Sambuc   S s; // expected-error{{field has incomplete type 'S'}}
12*f4a2713aSLionel Sambuc   T1(const T1&) = default;
13*f4a2713aSLionel Sambuc };
14*f4a2713aSLionel Sambuc 
15*f4a2713aSLionel Sambuc struct T2 {
16*f4a2713aSLionel Sambuc   S s; // expected-error{{field has incomplete type 'S'}}
17*f4a2713aSLionel Sambuc   T2& operator=(const T2&) = default;
18*f4a2713aSLionel Sambuc };
19*f4a2713aSLionel Sambuc 
20*f4a2713aSLionel Sambuc struct T3 {
21*f4a2713aSLionel Sambuc   S s; // expected-error{{field has incomplete type 'S'}}
22*f4a2713aSLionel Sambuc   ~T3() = default;
23*f4a2713aSLionel Sambuc };
24