diff options
author | Mandeep Singh Grang <mgrang@codeaurora.org> | 2016-12-01 18:42:04 +0000 |
---|---|---|
committer | Mandeep Singh Grang <mgrang@codeaurora.org> | 2016-12-01 18:42:04 +0000 |
commit | 32360071a075c24f1ce133c9566b7bbd32b12578 (patch) | |
tree | 9257bae1bbdd3dfefaac76caf7b881368a3006b0 /llvm/tools | |
parent | 17d5b6b4935175354c7af06cf2c2405237c85531 (diff) | |
download | bcm5719-llvm-32360071a075c24f1ce133c9566b7bbd32b12578.tar.gz bcm5719-llvm-32360071a075c24f1ce133c9566b7bbd32b12578.zip |
[llvm] Implement support for -defsym assembler option
Summary:
Changes to llvm-mc to move common logic to separate function.
Related clang patch: https://reviews.llvm.org/D26213
Reviewers: rafael, t.p.northover, colinl, echristo, rengolin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D26214
llvm-svn: 288396
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-mc/llvm-mc.cpp | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp index 452777b05c5..8a904a8ad7c 100644 --- a/llvm/tools/llvm-mc/llvm-mc.cpp +++ b/llvm/tools/llvm-mc/llvm-mc.cpp @@ -393,23 +393,10 @@ static int AsLexInput(SourceMgr &SrcMgr, MCAsmInfo &MAI, return Error; } -static int fillCommandLineSymbols(MCAsmParser &Parser){ - for(auto &I: DefineSymbol){ - auto Pair = StringRef(I).split('='); - if(Pair.second.empty()){ - errs() << "error: defsym must be of the form: sym=value: " << I; +static int fillCommandLineSymbols(MCAsmParser &Parser) { + for (auto &I: DefineSymbol) + if (Parser.getContext().setSymbolValue(Parser.getStreamer(), I)) return 1; - } - int64_t Value; - if(Pair.second.getAsInteger(0, Value)){ - errs() << "error: Value is not an integer: " << Pair.second; - return 1; - } - auto &Context = Parser.getContext(); - auto Symbol = Context.getOrCreateSymbol(Pair.first); - Parser.getStreamer().EmitAssignment(Symbol, - MCConstantExpr::create(Value, Context)); - } return 0; } |