#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/SystemUtils.h"
#include "llvm/Support/ToolOutputFile.h"
+#include "llvm/Support/WithColor.h"
#include "llvm/Transforms/IPO/FunctionImport.h"
#include "llvm/Transforms/IPO/Internalize.h"
#include "llvm/Transforms/Utils/FunctionImportUtils.h"
LLVMContext &Context,
bool MaterializeMetadata = true) {
SMDiagnostic Err;
- if (Verbose) errs() << "Loading '" << FN << "'\n";
+ if (Verbose)
+ errs() << "Loading '" << FN << "'\n";
std::unique_ptr<Module> Result;
if (DisableLazyLoad)
Result = parseIRFile(FN, Err, Context);
unsigned Severity = DI.getSeverity();
switch (Severity) {
case DS_Error:
- errs() << "ERROR: ";
+ WithColor::error();
break;
case DS_Warning:
if (SuppressWarnings)
return true;
- errs() << "WARNING: ";
+ WithColor::warning();
break;
case DS_Remark:
case DS_Note:
auto &SrcModule = ModuleLoaderCache(argv0, FileName);
if (verifyModule(SrcModule, &errs())) {
- errs() << argv0 << ": " << FileName
- << ": error: input module is broken!\n";
+ errs() << argv0 << ": " << FileName;
+ WithColor::error() << "input module is broken!\n";
return false;
}
for (const auto &File : Files) {
std::unique_ptr<Module> M = loadFile(argv0, File, Context);
if (!M.get()) {
- errs() << argv0 << ": error loading file '" << File << "'\n";
+ errs() << argv0 << ": ";
+ WithColor::error() << " loading file '" << File << "'\n";
return false;
}
// doing that debug metadata in the src module might already be pointing to
// the destination.
if (DisableDITypeMap && verifyModule(*M, &errs())) {
- errs() << argv0 << ": " << File << ": error: input module is broken!\n";
+ errs() << argv0 << ": " << File << ": ";
+ WithColor::error() << "input module is broken!\n";
return false;
}
if (!importFunctions(argv[0], *Composite))
return 1;
- if (DumpAsm) errs() << "Here's the assembly:\n" << *Composite;
+ if (DumpAsm)
+ errs() << "Here's the assembly:\n" << *Composite;
std::error_code EC;
ToolOutputFile Out(OutputFilename, EC, sys::fs::F_None);
if (EC) {
- errs() << EC.message() << '\n';
+ WithColor::error() << EC.message() << '\n';
return 1;
}
if (verifyModule(*Composite, &errs())) {
- errs() << argv[0] << ": error: linked module is broken!\n";
+ errs() << argv[0] << ": ";
+ WithColor::error() << "linked module is broken!\n";
return 1;
}
- if (Verbose) errs() << "Writing bitcode...\n";
+ if (Verbose)
+ errs() << "Writing bitcode...\n";
if (OutputAssembly) {
Composite->print(Out.os(), nullptr, PreserveAssemblyUseListOrder);
} else if (Force || !CheckBitcodeOutputToConsole(Out.os(), true))