diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-07-20 06:08:47 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-07-20 06:08:47 +0000 |
| commit | a5f4c882e2d025fa0b77899ddf5ae3dcadcd7eab (patch) | |
| tree | 63ada8281325254d30a961b19d63d543b8e14457 /clang/Lex/Lexer.cpp | |
| parent | 032e6170af990530bfaddef1968dcf60a00e5368 (diff) | |
| download | bcm5719-llvm-a5f4c882e2d025fa0b77899ddf5ae3dcadcd7eab.tar.gz bcm5719-llvm-a5f4c882e2d025fa0b77899ddf5ae3dcadcd7eab.zip | |
disable malformed string/character errors when in raw mode. This fixes
test/Lexer/badstring_in_if0.c
llvm-svn: 38751
Diffstat (limited to 'clang/Lex/Lexer.cpp')
| -rw-r--r-- | clang/Lex/Lexer.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/Lex/Lexer.cpp b/clang/Lex/Lexer.cpp index 27cc29b2e2b..417d1d8d376 100644 --- a/clang/Lex/Lexer.cpp +++ b/clang/Lex/Lexer.cpp @@ -452,7 +452,7 @@ void Lexer::LexStringLiteral(LexerToken &Result, const char *CurPtr) { C = getAndAdvanceChar(CurPtr, Result); } else if (C == '\n' || C == '\r' || // Newline. (C == 0 && CurPtr-1 == BufferEnd)) { // End of file. - Diag(BufferPtr, diag::err_unterminated_string); + if (!LexingRawMode) Diag(BufferPtr, diag::err_unterminated_string); Result.SetKind(tok::unknown); FormTokenWithChars(Result, CurPtr-1); return; @@ -484,7 +484,7 @@ void Lexer::LexAngledStringLiteral(LexerToken &Result, const char *CurPtr) { C = getAndAdvanceChar(CurPtr, Result); } else if (C == '\n' || C == '\r' || // Newline. (C == 0 && CurPtr-1 == BufferEnd)) { // End of file. - Diag(BufferPtr, diag::err_unterminated_string); + if (!LexingRawMode) Diag(BufferPtr, diag::err_unterminated_string); Result.SetKind(tok::unknown); FormTokenWithChars(Result, CurPtr-1); return; @@ -512,7 +512,7 @@ void Lexer::LexCharConstant(LexerToken &Result, const char *CurPtr) { // Handle the common case of 'x' and '\y' efficiently. char C = getAndAdvanceChar(CurPtr, Result); if (C == '\'') { - Diag(BufferPtr, diag::err_empty_character); + if (!LexingRawMode) Diag(BufferPtr, diag::err_empty_character); Result.SetKind(tok::unknown); FormTokenWithChars(Result, CurPtr); return; @@ -533,7 +533,7 @@ void Lexer::LexCharConstant(LexerToken &Result, const char *CurPtr) { C = getAndAdvanceChar(CurPtr, Result); } else if (C == '\n' || C == '\r' || // Newline. (C == 0 && CurPtr-1 == BufferEnd)) { // End of file. - Diag(BufferPtr, diag::err_unterminated_char); + if (!LexingRawMode) Diag(BufferPtr, diag::err_unterminated_char); Result.SetKind(tok::unknown); FormTokenWithChars(Result, CurPtr-1); return; |

