diff options
Diffstat (limited to 'llvm/lib/MC/MCParser/COFFAsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/COFFAsmParser.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/llvm/lib/MC/MCParser/COFFAsmParser.cpp b/llvm/lib/MC/MCParser/COFFAsmParser.cpp index fa7ae5cf148..540df377bbd 100644 --- a/llvm/lib/MC/MCParser/COFFAsmParser.cpp +++ b/llvm/lib/MC/MCParser/COFFAsmParser.cpp @@ -343,13 +343,16 @@ bool COFFAsmParser::ParseSEHDirectiveSaveXMM(StringRef, SMLoc L) { } bool COFFAsmParser::ParseSEHDirectivePushFrame(StringRef, SMLoc) { - bool Code; + bool Code = false; StringRef CodeID; - SMLoc startLoc = getLexer().getLoc(); - if (!getParser().ParseIdentifier(CodeID)) { - if (CodeID != "@code") - return Error(startLoc, "expected @code"); - Code = true; + if (getLexer().is(AsmToken::At)) { + SMLoc startLoc = getLexer().getLoc(); + Lex(); + if (!getParser().ParseIdentifier(CodeID)) { + if (CodeID != "code") + return Error(startLoc, "expected @code"); + Code = true; + } } if (getLexer().isNot(AsmToken::EndOfStatement)) |