1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

Implemented the dialect decision logic for the X86

TargetAsmLexer.  Dialect-specific lexing code will
be placed in the functions LexTokenATT() and
LexTokenIntel().

llvm-svn: 94456
This commit is contained in:
Sean Callanan 2010-01-25 21:59:20 +00:00
parent 4facdb7d00
commit 4dbe558a10

View File

@ -9,6 +9,7 @@
#include "llvm/Target/TargetAsmLexer.h" #include "llvm/Target/TargetAsmLexer.h"
#include "llvm/Target/TargetRegistry.h" #include "llvm/Target/TargetRegistry.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h" #include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h" #include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "X86.h" #include "X86.h"
@ -19,8 +20,21 @@ namespace {
class X86AsmLexer : public TargetAsmLexer { class X86AsmLexer : public TargetAsmLexer {
const MCAsmInfo &AsmInfo; const MCAsmInfo &AsmInfo;
AsmToken LexTokenATT();
AsmToken LexTokenIntel();
protected: protected:
AsmToken LexToken(); AsmToken LexToken() {
switch (AsmInfo.getAssemblerDialect()) {
default:
SetError(SMLoc(), "Unhandled dialect");
return AsmToken(AsmToken::Error, "", 0);
case 0:
return LexTokenATT();
case 1:
return LexTokenIntel();
}
}
public: public:
X86AsmLexer(const Target &T, const MCAsmInfo &MAI) X86AsmLexer(const Target &T, const MCAsmInfo &MAI)
: TargetAsmLexer(T), AsmInfo(MAI) { : TargetAsmLexer(T), AsmInfo(MAI) {
@ -29,7 +43,11 @@ public:
} }
AsmToken X86AsmLexer::LexToken() { AsmToken X86AsmLexer::LexTokenATT() {
return AsmToken(AsmToken::Error, "", 0);
}
AsmToken X86AsmLexer::LexTokenIntel() {
return AsmToken(AsmToken::Error, "", 0); return AsmToken(AsmToken::Error, "", 0);
} }