Aaron Ballman | 674cf26 | 2015-05-26 19:44:52 +0000 | [diff] [blame] | 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 |
Hans Wennborg | 97cbed4 | 2015-02-19 22:39:24 +0000 | [diff] [blame] | 5 | |
Hans Wennborg | 5870373 | 2015-02-21 01:07:24 +0000 | [diff] [blame] | 6 | #ifndef ERROR |
Hans Wennborg | 97cbed4 | 2015-02-19 22:39:24 +0000 | [diff] [blame] | 7 | // expected-no-diagnostics |
Hans Wennborg | 5870373 | 2015-02-21 01:07:24 +0000 | [diff] [blame] | 8 | #endif |
Hans Wennborg | 97cbed4 | 2015-02-19 22:39:24 +0000 | [diff] [blame] | 9 | |
| 10 | struct NonCopyable { |
| 11 | private: |
Hans Wennborg | 5870373 | 2015-02-21 01:07:24 +0000 | [diff] [blame] | 12 | #ifdef ERROR |
| 13 | // expected-note@+2{{declared private here}} |
| 14 | #endif |
Hans Wennborg | 97cbed4 | 2015-02-19 22:39:24 +0000 | [diff] [blame] | 15 | NonCopyable(); |
| 16 | }; |
| 17 | |
Hans Wennborg | 5870373 | 2015-02-21 01:07:24 +0000 | [diff] [blame] | 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 |
Hans Wennborg | 97cbed4 | 2015-02-19 22:39:24 +0000 | [diff] [blame] | 23 | struct __declspec(dllexport) S { |
| 24 | NonCopyable member; |
| 25 | }; |