Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: src/IceCompileServer.cpp

Issue 1803403002: Subzero. Flags refactoring. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceClFlagsExtra.h ('k') | src/IceCompiler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceCompileServer.cpp
diff --git a/src/IceCompileServer.cpp b/src/IceCompileServer.cpp
index 992c790e2400100ce239570cc6577837109685d4..4a0da28b494a65b90479b2ab74347ab9570cd966 100644
--- a/src/IceCompileServer.cpp
+++ b/src/IceCompileServer.cpp
@@ -15,7 +15,6 @@
#include "IceCompileServer.h"
#include "IceClFlags.h"
-#include "IceClFlagsExtra.h"
#include "IceELFStreamer.h"
#include "IceGlobalContext.h"
#include "LinuxMallocProfiling.h"
@@ -96,7 +95,7 @@ std::unique_ptr<Ostream> makeStream(const IceString &Filename,
}
ErrorCodes getReturnValue(ErrorCodes Val) {
- if (GlobalContext::ExtraFlags.getAlwaysExitSuccess())
+ if (GlobalContext::Flags.getAlwaysExitSuccess())
return EC_None;
return Val;
}
@@ -160,16 +159,14 @@ void CLCompileServer::run() {
}
ClFlags::parseFlags(argc, argv);
ClFlags &Flags = GlobalContext::Flags;
- ClFlagsExtra &ExtraFlags = GlobalContext::ExtraFlags;
ClFlags::getParsedClFlags(Flags);
- ClFlags::getParsedClFlagsExtra(ExtraFlags);
// Override report_fatal_error if we want to exit with 0 status.
- if (ExtraFlags.getAlwaysExitSuccess())
+ if (Flags.getAlwaysExitSuccess())
llvm::install_fatal_error_handler(reportFatalErrorThenExitSuccess, this);
std::error_code EC;
- std::unique_ptr<Ostream> Ls = makeStream(ExtraFlags.getLogFilename(), EC);
+ std::unique_ptr<Ostream> Ls = makeStream(Flags.getLogFilename(), EC);
if (EC) {
llvm::report_fatal_error("Unable to open log file");
}
@@ -180,14 +177,14 @@ void CLCompileServer::run() {
std::unique_ptr<ELFStreamer> ELFStr;
switch (Flags.getOutFileType()) {
case FT_Elf: {
- if (ExtraFlags.getOutputFilename() == "-") {
+ if (Flags.getOutputFilename() == "-" && !Flags.getGenerateBuildAtts()) {
*Ls << "Error: writing binary ELF to stdout is unsupported\n";
return transferErrorCode(getReturnValue(Ice::EC_Args));
}
std::unique_ptr<llvm::raw_fd_ostream> FdOs(new llvm::raw_fd_ostream(
- ExtraFlags.getOutputFilename(), EC, llvm::sys::fs::F_None));
+ Flags.getOutputFilename(), EC, llvm::sys::fs::F_None));
if (EC) {
- *Ls << "Failed to open output file: " << ExtraFlags.getOutputFilename()
+ *Ls << "Failed to open output file: " << Flags.getOutputFilename()
<< ":\n" << EC.message() << "\n";
return transferErrorCode(getReturnValue(Ice::EC_Args));
}
@@ -199,9 +196,9 @@ void CLCompileServer::run() {
} break;
case FT_Asm:
case FT_Iasm: {
- Os = makeStream(ExtraFlags.getOutputFilename(), EC);
+ Os = makeStream(Flags.getOutputFilename(), EC);
if (EC) {
- *Ls << "Failed to open output file: " << ExtraFlags.getOutputFilename()
+ *Ls << "Failed to open output file: " << Flags.getOutputFilename()
<< ":\n" << EC.message() << "\n";
return transferErrorCode(getReturnValue(Ice::EC_Args));
}
@@ -209,36 +206,36 @@ void CLCompileServer::run() {
} break;
}
- if (BuildDefs::minimal() && ExtraFlags.getBitcodeAsText())
+ if (BuildDefs::minimal() && Flags.getBitcodeAsText())
llvm::report_fatal_error("Can't specify 'bitcode-as-text' flag in "
"minimal build");
IceString StrError;
std::unique_ptr<llvm::DataStreamer> InputStream(
- (!BuildDefs::minimal() && ExtraFlags.getBitcodeAsText())
- ? TextDataStreamer::create(ExtraFlags.getIRFilename(), &StrError)
- : llvm::getDataFileStreamer(ExtraFlags.getIRFilename(), &StrError));
+ (!BuildDefs::minimal() && Flags.getBitcodeAsText())
+ ? TextDataStreamer::create(Flags.getIRFilename(), &StrError)
+ : llvm::getDataFileStreamer(Flags.getIRFilename(), &StrError));
if (!StrError.empty() || !InputStream) {
- llvm::SMDiagnostic Err(ExtraFlags.getIRFilename(),
- llvm::SourceMgr::DK_Error, StrError);
- Err.print(ExtraFlags.getAppName().c_str(), *Ls);
+ llvm::SMDiagnostic Err(Flags.getIRFilename(), llvm::SourceMgr::DK_Error,
+ StrError);
+ Err.print(Flags.getAppName().c_str(), *Ls);
return transferErrorCode(getReturnValue(Ice::EC_Bitcode));
}
- if (ExtraFlags.getGenerateBuildAtts()) {
+ if (Flags.getGenerateBuildAtts()) {
dumpBuildAttributes(*Os.get());
return transferErrorCode(getReturnValue(Ice::EC_None));
}
Ctx.reset(new GlobalContext(Ls.get(), Os.get(), Ls.get(), ELFStr.get()));
if (Ctx->getFlags().getNumTranslationThreads() != 0) {
- std::thread CompileThread([this, &ExtraFlags, &InputStream]() {
+ std::thread CompileThread([this, &Flags, &InputStream]() {
Ctx->initParserThread();
- getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream));
+ getCompiler().run(Flags, *Ctx.get(), std::move(InputStream));
});
CompileThread.join();
} else {
- getCompiler().run(ExtraFlags, *Ctx.get(), std::move(InputStream));
+ getCompiler().run(Flags, *Ctx.get(), std::move(InputStream));
}
transferErrorCode(
getReturnValue(static_cast<ErrorCodes>(Ctx->getErrorStatus()->value())));
« no previous file with comments | « src/IceClFlagsExtra.h ('k') | src/IceCompiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698