diff options
Diffstat (limited to 'test/Preprocessor/pragma_microsoft.c')
-rw-r--r-- | test/Preprocessor/pragma_microsoft.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/Preprocessor/pragma_microsoft.c b/test/Preprocessor/pragma_microsoft.c index c0ddf74..e30069c 100644 --- a/test/Preprocessor/pragma_microsoft.c +++ b/test/Preprocessor/pragma_microsoft.c @@ -18,6 +18,11 @@ #pragma comment(user, "foo\abar\nbaz\tsome thing") +#pragma detect_mismatch("test", "1") +#pragma detect_mismatch() // expected-error {{expected string literal in pragma detect_mismatch}} +#pragma detect_mismatch("test") // expected-error {{pragma detect_mismatch is malformed; it requires two comma-separated string literals}} +#pragma detect_mismatch("test", 1) // expected-error {{expected string literal in pragma detect_mismatch}} +#pragma detect_mismatch("test", BAR) // __pragma @@ -82,3 +87,31 @@ void g() {} // Make sure that empty includes don't work #pragma include_alias("", "foo.h") // expected-error {{empty filename}} #pragma include_alias(<foo.h>, <>) // expected-error {{empty filename}} + +// Test that we ignore pragma warning. +#pragma warning(push) +#pragma warning(push, 1) +#pragma warning(disable : 4705) +#pragma warning(disable : 123 456 789 ; error : 321) +#pragma warning(once : 321) +#pragma warning(suppress : 321) +#pragma warning(default : 321) +#pragma warning(pop) + +#pragma warning(push, 0) +// FIXME: We could probably support pushing warning level 0. +#pragma warning(pop) + +#pragma warning // expected-warning {{expected '('}} +#pragma warning( // expected-warning {{expected 'push', 'pop', 'default', 'disable', 'error', 'once', 'suppress', 1, 2, 3, or 4}} +#pragma warning() // expected-warning {{expected 'push', 'pop', 'default', 'disable', 'error', 'once', 'suppress', 1, 2, 3, or 4}} +#pragma warning(push 4) // expected-warning {{expected ')'}} +#pragma warning(push // expected-warning {{expected ')'}} +#pragma warning(push, 5) // expected-warning {{requires a level between 0 and 4}} +#pragma warning(pop, 1) // expected-warning {{expected ')'}} +#pragma warning(push, 1) asdf // expected-warning {{extra tokens at end of #pragma warning directive}} +#pragma warning(disable 4705) // expected-warning {{expected ':'}} +#pragma warning(disable : 0) // expected-warning {{expected a warning number}} +#pragma warning(default 321) // expected-warning {{expected ':'}} +#pragma warning(asdf : 321) // expected-warning {{expected 'push', 'pop'}} +#pragma warning(push, -1) // expected-warning {{requires a level between 0 and 4}} |