diff options
author | Andy Gibbs <andyg1001@hotmail.co.uk> | 2013-04-17 16:16:16 +0000 |
---|---|---|
committer | Andy Gibbs <andyg1001@hotmail.co.uk> | 2013-04-17 16:16:16 +0000 |
commit | 9c2ccd622fe14bc7f0d752cda7263423722f441c (patch) | |
tree | 700fc1596d7188adf7b18cf4bd893052f8100ab7 /clang/test | |
parent | 2d5c341cee4aa4695d7650b9b55613a4c3964d35 (diff) | |
download | bcm5719-llvm-9c2ccd622fe14bc7f0d752cda7263423722f441c.tar.gz bcm5719-llvm-9c2ccd622fe14bc7f0d752cda7263423722f441c.zip |
Implemented #pragma GCC warning/error in the same mould as #pragma message.
llvm-svn: 179687
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Lexer/pragma-message.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/Lexer/pragma-message.c b/clang/test/Lexer/pragma-message.c index b67886fa330..d0bbe9ea3a6 100644 --- a/clang/test/Lexer/pragma-message.c +++ b/clang/test/Lexer/pragma-message.c @@ -14,3 +14,19 @@ #pragma message ":O gcc accepts this! " STRING(__LINE__) // expected-warning {{:O gcc accepts this! 14}} #pragma message(invalid) // expected-error {{expected string literal in pragma message}} + +// GCC supports a similar pragma, #pragma GCC warning (which generates a warning +// message) and #pragma GCC error (which generates an error message). + +#pragma GCC warning(":O I'm a message! " STRING(__LINE__)) // expected-warning {{:O I'm a message! 21}} +#pragma GCC warning ":O gcc accepts this! " STRING(__LINE__) // expected-warning {{:O gcc accepts this! 22}} + +#pragma GCC error(":O I'm a message! " STRING(__LINE__)) // expected-error {{:O I'm a message! 24}} +#pragma GCC error ":O gcc accepts this! " STRING(__LINE__) // expected-error {{:O gcc accepts this! 25}} + +#define COMPILE_ERROR(x) _Pragma(STRING2(GCC error(x))) +COMPILE_ERROR("Compile error at line " STRING(__LINE__) "!"); // expected-error {{Compile error at line 28!}} + +#pragma message // expected-error {{pragma message requires parenthesized string}} +#pragma GCC warning("" // expected-error {{pragma warning requires parenthesized string}} +#pragma GCC error(1) // expected-error {{expected string literal in pragma error}} |