diff options
| author | Andy Gibbs <andyg1001@hotmail.co.uk> | 2013-04-18 16:49:37 +0000 |
|---|---|---|
| committer | Andy Gibbs <andyg1001@hotmail.co.uk> | 2013-04-18 16:49:37 +0000 |
| commit | 96d93907eb84ac16eea246f459fe961a7c78c8ac (patch) | |
| tree | 0dc07e083f0dde47f849381235176548aba99abd /clang | |
| parent | 65ff01bccb06b12259ffa4fafc5087653187793a (diff) | |
| download | bcm5719-llvm-96d93907eb84ac16eea246f459fe961a7c78c8ac.tar.gz bcm5719-llvm-96d93907eb84ac16eea246f459fe961a7c78c8ac.zip | |
Dropped the parentheses for #pragma message and its kin in the -E output generator.
This was a suggestion by Jordan Rose since the documented format for these pragmas is without the parentheses. At the same time, I've increased test coverage too for the preprocessed output.
llvm-svn: 179771
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Frontend/PrintPreprocessedOutput.cpp | 8 | ||||
| -rw-r--r-- | clang/test/Lexer/pragma-message2.c | 19 | ||||
| -rw-r--r-- | clang/test/Lexer/pragma-operators.cpp | 2 |
3 files changed, 23 insertions, 6 deletions
diff --git a/clang/lib/Frontend/PrintPreprocessedOutput.cpp b/clang/lib/Frontend/PrintPreprocessedOutput.cpp index 61f2b9e2884..6d7a1db7379 100644 --- a/clang/lib/Frontend/PrintPreprocessedOutput.cpp +++ b/clang/lib/Frontend/PrintPreprocessedOutput.cpp @@ -419,13 +419,13 @@ void PrintPPOutputPPCallbacks::PragmaMessage(SourceLocation Loc, OS << Namespace << ' '; switch (Kind) { case PMK_Message: - OS << "message(\""; + OS << "message \""; break; case PMK_Warning: - OS << "warning(\""; + OS << "warning \""; break; case PMK_Error: - OS << "error(\""; + OS << "error \""; break; } @@ -440,8 +440,6 @@ void PrintPPOutputPPCallbacks::PragmaMessage(SourceLocation Loc, << (char)('0'+ ((Char >> 0) & 7)); } OS << '"'; - - OS << ')'; setEmittedDirectiveOnThisLine(); } diff --git a/clang/test/Lexer/pragma-message2.c b/clang/test/Lexer/pragma-message2.c new file mode 100644 index 00000000000..4b4078243b2 --- /dev/null +++ b/clang/test/Lexer/pragma-message2.c @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -E -Werror -verify %s 2>&1 | FileCheck %s + +#pragma message "\\test" // expected-warning {{\test}} +// CHECK: #pragma message "\134test" + +#pragma message("\\test") // expected-warning {{\test}} +// CHECK: #pragma message "\134test" + +#pragma GCC warning "\"" "te" "st" "\"" // expected-warning {{"test"}} +// CHECK: #pragma GCC warning "\042test\042" + +#pragma GCC warning("\"" "te" "st" "\"") // expected-warning {{"test"}} +// CHECK: #pragma GCC warning "\042test\042" + +#pragma GCC error "" "[ ]" "" // expected-error {{[ ]}} +// CHECK: #pragma GCC error "[\011]" + +#pragma GCC error("" "[ ]" "") // expected-error {{[ ]}} +// CHECK: #pragma GCC error "[\011]" diff --git a/clang/test/Lexer/pragma-operators.cpp b/clang/test/Lexer/pragma-operators.cpp index 6a5a498a151..7402f9f8c4b 100644 --- a/clang/test/Lexer/pragma-operators.cpp +++ b/clang/test/Lexer/pragma-operators.cpp @@ -32,6 +32,6 @@ B(foo) // CHECK: #pragma comment(lib, "libfoo") // CHECK: #pragma clang diagnostic ignored "-Wunused" // CHECK: #pragma clang diagnostic error "-Wunused" -// CHECK: #pragma message("\042Hello\042, world!") +// CHECK: #pragma message "\042Hello\042, world!" // CHECK: 0; int n = pragma_L pragma_u8 pragma_u pragma_U pragma_R pragma_UR pragma_hello 0; |

