diff options
| -rw-r--r-- | clang/lib/Lex/LiteralSupport.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Lex/LiteralSupport.cpp b/clang/lib/Lex/LiteralSupport.cpp index c1d228b8798..b01fc1f8c6b 100644 --- a/clang/lib/Lex/LiteralSupport.cpp +++ b/clang/lib/Lex/LiteralSupport.cpp @@ -1192,7 +1192,12 @@ void StringLiteralParser::init(const Token *StringToks, unsigned NumStringToks){          if (DiagnoseBadString(StringToks[i]))            hadError = true;      } else { -      assert(ThisTokBuf[0] == '"' && "Expected quote, lexer broken?"); +      if (ThisTokBuf[0] != '"') { +        // The file may have come from PCH and then changed after loading the +        // PCH; Fail gracefully. +        hadError = true; +        continue; +      }        ++ThisTokBuf; // skip "        // Check if this is a pascal string  | 

