Add assembler dialect attribute in asm parser which lets target specific asm parser...
[oota-llvm.git] / lib / Target / X86 / AsmParser / X86AsmParser.cpp
index fd6efa63276598361a229b6b4a6e2059f37b3318..a1f1d5cf8b61469100fc724481da4f6b912bed09 100644 (file)
@@ -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