diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-08-11 18:34:43 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-08-11 18:34:43 +0000 |
commit | 21aedc4b83ef555e197edb0e50d3d7d522c7b333 (patch) | |
tree | acd510136c17c5e8cb35c70e031646fdeff02357 /llvm/lib/MC/MCParser/COFFAsmParser.cpp | |
parent | 36ef89895c3826f033f216729d47ed416e87a482 (diff) | |
download | bcm5719-llvm-21aedc4b83ef555e197edb0e50d3d7d522c7b333.tar.gz bcm5719-llvm-21aedc4b83ef555e197edb0e50d3d7d522c7b333.zip |
MC: Diagnose an unexpected token in COFF .section instead of asserting
This can easily arise when trying to assemble and ELF style .section
directive for a COFF object file.
llvm-svn: 215373
Diffstat (limited to 'llvm/lib/MC/MCParser/COFFAsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/COFFAsmParser.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCParser/COFFAsmParser.cpp b/llvm/lib/MC/MCParser/COFFAsmParser.cpp index 5ecf9e5c64b..6f82e6ef3e4 100644 --- a/llvm/lib/MC/MCParser/COFFAsmParser.cpp +++ b/llvm/lib/MC/MCParser/COFFAsmParser.cpp @@ -364,6 +364,10 @@ bool COFFAsmParser::ParseDirectiveSection(StringRef, SMLoc) { Flags |= COFF::IMAGE_SCN_LNK_COMDAT; + if (!getLexer().is(AsmToken::Identifier)) + return TokError("expected comdat type such as 'discard' or 'largest' " + "after protection bits"); + if (parseCOMDATType(Type)) return true; |