diff options
| author | Devang Patel <dpatel@apple.com> | 2012-01-31 18:14:05 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2012-01-31 18:14:05 +0000 |
| commit | a173ee56fd5c52fdb93da9c108b3de3be7779746 (patch) | |
| tree | 93f41936952298d3646de4b1e661699aa50205f7 /llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | |
| parent | 9160b5059b14355285567f1e3b2ccd6ec0e34dfc (diff) | |
| download | bcm5719-llvm-a173ee56fd5c52fdb93da9c108b3de3be7779746.tar.gz bcm5719-llvm-a173ee56fd5c52fdb93da9c108b3de3be7779746.zip | |
Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly.
llvm-svn: 149396
Diffstat (limited to 'llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index fd6efa63276..a1f1d5cf8b6 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -34,7 +34,6 @@ struct X86Operand; class X86AsmParser : public MCTargetAsmParser { MCSubtargetInfo &STI; MCAsmParser &Parser; - bool IntelSyntax; private: MCAsmParser &getParser() const { return Parser; } @@ -94,7 +93,7 @@ private: public: X86AsmParser(MCSubtargetInfo &sti, MCAsmParser &parser) - : MCTargetAsmParser(), STI(sti), Parser(parser), IntelSyntax(false) { + : MCTargetAsmParser(), STI(sti), Parser(parser) { // Initialize the set of available features. setAvailableFeatures(ComputeAvailableFeatures(STI.getFeatureBits())); @@ -107,7 +106,7 @@ public: virtual bool ParseDirective(AsmToken DirectiveID); bool isParsingIntelSyntax() { - return IntelSyntax || getParser().getAssemblerDialect(); + return getParser().getAssemblerDialect(); } }; } // end anonymous namespace @@ -1646,7 +1645,7 @@ bool X86AsmParser::ParseDirective(AsmToken DirectiveID) { else if (IDVal.startswith(".code")) return ParseDirectiveCode(IDVal, DirectiveID.getLoc()); else if (IDVal.startswith(".intel_syntax")) { - IntelSyntax = true; + getParser().setAssemblerDialect(1); if (getLexer().isNot(AsmToken::EndOfStatement)) { if(Parser.getTok().getString() == "noprefix") { // FIXME : Handle noprefix |

