diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-01-10 04:38:40 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-01-10 04:38:40 +0000 |
commit | 435f45653ac9e4315dc51db65d911851feea931c (patch) | |
tree | a2f2ae0444fd785a4813b1711e026048391bfe6e /llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | |
parent | e6e6d7147780d3f10b78ba55b16dd6b30b1b691e (diff) | |
download | bcm5719-llvm-435f45653ac9e4315dc51db65d911851feea931c.tar.gz bcm5719-llvm-435f45653ac9e4315dc51db65d911851feea931c.zip |
ARM IAS: support #:{lower,upper}16: for GNU compatibility
The GNU assembler supports prefixing the expression with a '#' to indiciate that
the value that is being moved is infact a constant. This improves the
compatibility of the integrated assembler's parser for this.
llvm-svn: 198916
Diffstat (limited to 'llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index bebbab5327b..77cdb756330 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -4813,6 +4813,10 @@ bool ARMAsmParser::parseOperand(SmallVectorImpl<MCParsedAsmOperand*> &Operands, bool ARMAsmParser::parsePrefix(ARMMCExpr::VariantKind &RefKind) { RefKind = ARMMCExpr::VK_ARM_None; + // consume an optional '#' (GNU compatibility) + if (getLexer().is(AsmToken::Hash)) + Parser.Lex(); + // :lower16: and :upper16: modifiers assert(getLexer().is(AsmToken::Colon) && "expected a :"); Parser.Lex(); // Eat ':' |