summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/COFFAsmParser.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-08-11 18:34:43 +0000
committerReid Kleckner <reid@kleckner.net>2014-08-11 18:34:43 +0000
commit21aedc4b83ef555e197edb0e50d3d7d522c7b333 (patch)
treeacd510136c17c5e8cb35c70e031646fdeff02357 /llvm/lib/MC/MCParser/COFFAsmParser.cpp
parent36ef89895c3826f033f216729d47ed416e87a482 (diff)
downloadbcm5719-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.cpp4
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;
OpenPOWER on IntegriCloud