1 // RUN: %clang_cc1 -triple i686-windows-gnu -fms-extensions -verify -std=c++03 %s 2 // RUN: %clang_cc1 -triple i686-windows-gnu -fms-extensions -verify -std=c++11 %s 3 // RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -verify -std=c++03 -DERROR %s 4 // RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -verify -std=c++11 %s 5 6 #ifndef ERROR 7 // expected-no-diagnostics 8 #endif 9 10 struct NonCopyable { 11 private: 12 #ifdef ERROR 13 // expected-note@+2{{declared private here}} 14 #endif 15 NonCopyable(); 16 }; 17 18 #ifdef ERROR 19 // expected-error@+4{{field of type 'NonCopyable' has private default constructor}} 20 // expected-note@+3{{implicit default constructor for 'S' first required here}} 21 // expected-note@+2{{due to 'S' being dllexported; try compiling in C++11 mode}} 22 #endif 23 struct __declspec(dllexport) S { 24 NonCopyable member; 25 }; 26