[lld,MinGW] Use context-aware outs() and errs()

lld::outs() and lld::errs() use the global errorHandler() and should be
avoided.
This commit is contained in:
Fangrui Song 2024-11-16 20:43:42 -08:00
parent 834457a134
commit ddc0eb70c8

View File

@ -97,11 +97,12 @@ public:
};
} // namespace
static void printHelp(const char *argv0) {
static void printHelp(CommonLinkerContext &ctx, const char *argv0) {
auto &outs = ctx.e.outs();
MinGWOptTable().printHelp(
lld::outs(), (std::string(argv0) + " [options] file...").c_str(), "lld",
false /*ShowHidden*/, true /*ShowAllAliases*/);
lld::outs() << "\n";
outs, (std::string(argv0) + " [options] file...").c_str(), "lld",
/*ShowHidden=*/false, /*ShowAllAliases=*/true);
outs << '\n';
}
static cl::TokenizerCallback getQuotingStyle() {
@ -189,7 +190,7 @@ bool link(ArrayRef<const char *> argsArr, llvm::raw_ostream &stdoutOS,
return false;
if (args.hasArg(OPT_help)) {
printHelp(argsArr[0]);
printHelp(*ctx, argsArr[0]);
return true;
}
@ -563,7 +564,7 @@ bool link(ArrayRef<const char *> argsArr, llvm::raw_ostream &stdoutOS,
return false;
if (args.hasArg(OPT_verbose) || args.hasArg(OPT__HASH_HASH_HASH))
lld::errs() << llvm::join(linkArgs, " ") << "\n";
ctx->e.errs() << llvm::join(linkArgs, " ") << "\n";
if (args.hasArg(OPT__HASH_HASH_HASH))
return true;