summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorMandeep Singh Grang <mgrang@codeaurora.org>2016-12-01 18:42:04 +0000
committerMandeep Singh Grang <mgrang@codeaurora.org>2016-12-01 18:42:04 +0000
commit32360071a075c24f1ce133c9566b7bbd32b12578 (patch)
tree9257bae1bbdd3dfefaac76caf7b881368a3006b0 /llvm/tools
parent17d5b6b4935175354c7af06cf2c2405237c85531 (diff)
downloadbcm5719-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.cpp19
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;
}
OpenPOWER on IntegriCloud