aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2012-01-31 18:14:05 +0000
committerDevang Patel <dpatel@apple.com>2012-01-31 18:14:05 +0000
commit0db58bfecea020ffcdfa1fc6458995371e1c3c50 (patch)
tree712d3eb75b361e652c364f3cc235bf1cc2530556 /lib/Target
parent48381e5d20cd61160380233e59efdc1822c7e7f4 (diff)
downloadexternal_llvm-0db58bfecea020ffcdfa1fc6458995371e1c3c50.zip
external_llvm-0db58bfecea020ffcdfa1fc6458995371e1c3c50.tar.gz
external_llvm-0db58bfecea020ffcdfa1fc6458995371e1c3c50.tar.bz2
Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149396 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index fd6efa6..a1f1d5c 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/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