Clean up more of the RSCCOptions class.
Pass a bunch of arguments using the class directly. Move the documentation
next to the actual option declarations, rather than as part of a huge call
to "compile()". Convert from bitfields to bool.
Change-Id: I666dea469717f1f0ae59e0220a6146c96fc0fb7c
diff --git a/llvm-rs-cc.cpp b/llvm-rs-cc.cpp
index 338ebe1..0e8589b 100644
--- a/llvm-rs-cc.cpp
+++ b/llvm-rs-cc.cpp
@@ -67,7 +67,7 @@
std::string OutputFile(OutputDir);
- // Append '/' to Opts.mOutputDir if not presents
+ // Append '/' to Opts.mBitcodeOutputDir if not presents
if (!OutputFile.empty() &&
(OutputFile[OutputFile.size() - 1]) != OS_PATH_SEPARATOR)
OutputFile.append(1, OS_PATH_SEPARATOR);
@@ -195,16 +195,16 @@
for (int i = 0, e = Inputs.size(); i != e; i++) {
const char *InputFile = Inputs[i];
const char *OutputFile =
- DetermineOutputFile(Opts.mOutputDir, InputFile,
+ DetermineOutputFile(Opts.mBitcodeOutputDir, InputFile,
Opts.mOutputType, SavedStrings);
- if (Opts.mOutputDep) {
+ if (Opts.mEmitDependency) {
const char *BCOutputFile, *DepOutputFile;
if (Opts.mOutputType == slang::Slang::OT_Bitcode)
BCOutputFile = OutputFile;
else
- BCOutputFile = DetermineOutputFile(Opts.mOutputDepDir,
+ BCOutputFile = DetermineOutputFile(Opts.mDependencyOutputDir,
InputFile,
slang::Slang::OT_Bitcode,
SavedStrings);
@@ -212,7 +212,7 @@
if (Opts.mOutputType == slang::Slang::OT_Dependency)
DepOutputFile = OutputFile;
else
- DepOutputFile = DetermineOutputFile(Opts.mOutputDepDir,
+ DepOutputFile = DetermineOutputFile(Opts.mDependencyOutputDir,
InputFile,
slang::Slang::OT_Dependency,
SavedStrings);
@@ -226,18 +226,7 @@
// Let's rock!
int CompileFailed = !Compiler->compile(IOFiles,
DepFiles,
- Opts.mIncludePaths,
- Opts.mAdditionalDepTargets,
- Opts.mOutputType,
- Opts.mBitcodeStorage,
- Opts.mAllowRSPrefix,
- Opts.mOutputDep,
- Opts.mTargetAPI,
- Opts.mDebugEmission,
- Opts.mOptimizationLevel,
- Opts.mJavaReflectionPathBase,
- Opts.mJavaReflectionPackageName,
- Opts.mRSPackageName);
+ Opts);
Compiler->reset();