diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-07-13 19:25:18 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-07-13 19:25:18 +0000 | 
| commit | ca089b24d48ef6fa8da2d0bb8c25bb802c4a95c0 (patch) | |
| tree | 3a28a772df9b17aef34f49e3c727965ad28c0c93 /lib/CodeGen/MIRParser/MILexer.cpp | |
| parent | 9df3605dea17e84f8183581f6103bd0c79e2a606 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/MIRParser/MILexer.cpp')
| -rw-r--r-- | lib/CodeGen/MIRParser/MILexer.cpp | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/CodeGen/MIRParser/MILexer.cpp b/lib/CodeGen/MIRParser/MILexer.cpp index 1f1ce6e8d725..58a655a4dee4 100644 --- a/lib/CodeGen/MIRParser/MILexer.cpp +++ b/lib/CodeGen/MIRParser/MILexer.cpp @@ -365,6 +365,14 @@ static Cursor maybeLexIRValue(Cursor C, MIToken &Token,    return lexName(C, Token, MIToken::NamedIRValue, Rule.size(), ErrorCallback);  } +static Cursor maybeLexStringConstant(Cursor C, MIToken &Token, +                                     ErrorCallbackType ErrorCallback) { +  if (C.peek() != '"') +    return None; +  return lexName(C, Token, MIToken::StringConstant, /*PrefixLength=*/0, +                 ErrorCallback); +} +  static Cursor lexVirtualRegister(Cursor C, MIToken &Token) {    auto Range = C;    C.advance(); // Skip '%' @@ -630,6 +638,8 @@ StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,      return R.remaining();    if (Cursor R = maybeLexEscapedIRValue(C, Token, ErrorCallback))      return R.remaining(); +  if (Cursor R = maybeLexStringConstant(C, Token, ErrorCallback)) +    return R.remaining();    Token.reset(MIToken::Error, C.remaining());    ErrorCallback(C.location(),  | 
