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