diff options
-rw-r--r-- | lib/Frontend/PrintPreprocessedOutput.cpp | 8 | ||||
-rw-r--r-- | test/Lexer/pragma-message2.c | 19 | ||||
-rw-r--r-- | test/Lexer/pragma-operators.cpp | 2 |
3 files changed, 23 insertions, 6 deletions
diff --git a/lib/Frontend/PrintPreprocessedOutput.cpp b/lib/Frontend/PrintPreprocessedOutput.cpp index 61f2b9e288..6d7a1db737 100644 --- a/lib/Frontend/PrintPreprocessedOutput.cpp +++ b/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/test/Lexer/pragma-message2.c b/test/Lexer/pragma-message2.c new file mode 100644 index 0000000000..4b4078243b --- /dev/null +++ b/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/test/Lexer/pragma-operators.cpp b/test/Lexer/pragma-operators.cpp index 6a5a498a15..7402f9f8c4 100644 --- a/test/Lexer/pragma-operators.cpp +++ b/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; |