summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-10-23 17:43:43 +0000
committerChad Rosier <mcrosier@apple.com>2012-10-23 17:43:43 +0000
commit5a719fcb5ea91ec4e7af6fc2e48ec31774a859dd (patch)
tree062b069d6dce6796c6e21522bc1b3ea7cffb1de8 /include
parenta7554630e9e8967104f4183be3dfebf79ba0b1e5 (diff)
downloadllvm-5a719fcb5ea91ec4e7af6fc2e48ec31774a859dd.tar.gz
llvm-5a719fcb5ea91ec4e7af6fc2e48ec31774a859dd.tar.bz2
llvm-5a719fcb5ea91ec4e7af6fc2e48ec31774a859dd.tar.xz
[ms-inline asm] Add an implementation of the offset operator. This is a follow
on patch to r166433. rdar://12470317 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166488 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/MC/MCParser/MCAsmParser.h2
-rw-r--r--include/llvm/MC/MCParser/MCParsedAsmOperand.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/MC/MCParser/MCAsmParser.h b/include/llvm/MC/MCParser/MCAsmParser.h
index fe7bda08db..8a5f37cb0c 100644
--- a/include/llvm/MC/MCParser/MCAsmParser.h
+++ b/include/llvm/MC/MCParser/MCAsmParser.h
@@ -90,7 +90,7 @@ public:
/// ParseMSInlineAsm - Parse ms-style inline assembly.
virtual bool ParseMSInlineAsm(void *AsmLoc, std::string &AsmString,
unsigned &NumOutputs, unsigned &NumInputs,
- SmallVectorImpl<void *> &OpDecls,
+ SmallVectorImpl<std::pair<void *, bool> > &OpDecls,
SmallVectorImpl<std::string> &Constraints,
SmallVectorImpl<std::string> &Clobbers,
const MCInstrInfo *MII,
diff --git a/include/llvm/MC/MCParser/MCParsedAsmOperand.h b/include/llvm/MC/MCParser/MCParsedAsmOperand.h
index 35f47c0b9c..89b0a1f47b 100644
--- a/include/llvm/MC/MCParser/MCParsedAsmOperand.h
+++ b/include/llvm/MC/MCParser/MCParsedAsmOperand.h
@@ -69,6 +69,9 @@ public:
/// inline assembly.
virtual bool isOffsetOf() const { return false; }
+ /// getOffsetOfLoc - Get the location of the offset operator.
+ virtual SMLoc getOffsetOfLoc() const { return SMLoc(); }
+
/// needSizeDirective - Do we need to emit a sizing directive for this
/// operand? Only valid when parsing MS-style inline assembly.
virtual bool needSizeDirective() const { return false; }