[PATCH] D26214: [llvm] Implement support for -defsym assembler option
Mandeep Singh Grang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 1 17:04:23 PST 2016
mgrang added inline comments.
================
Comment at: llvm/trunk/lib/MC/MCContext.cpp:263
+int MCContext::setSymbolValue(MCStreamer &Streamer, std::string &I) {
+ auto Pair = StringRef(I).split('=');
----------------
grosbach wrote:
> The error checking shouldn't be in the setter function, but rather in the caller.
@grosbach Thanks for your comments.
This function is called from llvm-mc as well as from cc1as_main in clang. Is it OK if I create an error checker function here and call it from both the call sites? Otherwise we would end up duplicating the error checking logic in both call sites.
================
Comment at: llvm/trunk/lib/MC/MCContext.cpp:266
+ if (Pair.second.empty()) {
+ errs() << "error: defsym must be of the form: sym=value: " << I << "\n";
+ return 1;
----------------
grosbach wrote:
> The MC layer should not be writing directly to errs(), but rather going through the diagnostics handlers.
@grosbach I will change this to go through diagnostics handlers.
However, I just moved this function from llvm-mc.cpp as is (almost). llvm-mc was already writing to errs(). Also I see places in MC where we directly write to errs(), like in MC/SubtargetFeature.cpp.
Repository:
rL LLVM
https://reviews.llvm.org/D26214
More information about the llvm-commits
mailing list