diff options
Diffstat (limited to 'compiler_wrapper/compiler_wrapper.go')
-rw-r--r-- | compiler_wrapper/compiler_wrapper.go | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/compiler_wrapper/compiler_wrapper.go b/compiler_wrapper/compiler_wrapper.go index 8c5825e8..b0269abe 100644 --- a/compiler_wrapper/compiler_wrapper.go +++ b/compiler_wrapper/compiler_wrapper.go @@ -9,11 +9,7 @@ import ( func callCompiler(env env, cfg *config, inputCmd *command) int { exitCode := 0 var compilerErr error - if shouldForwardToOldWrapper(env, inputCmd) { - // TODO: Once this is only checking for bisect, create a command - // that directly calls the bisect driver in calcCompilerCommand. - exitCode, compilerErr = forwardToOldWrapper(env, cfg, inputCmd) - } else if cfg.oldWrapperPath != "" { + if cfg.oldWrapperPath != "" { exitCode, compilerErr = callCompilerWithRunAndCompareToOldWrapper(env, cfg, inputCmd) } else { exitCode, compilerErr = callCompilerInternal(env, cfg, inputCmd) @@ -75,15 +71,25 @@ func callCompilerInternal(env env, cfg *config, inputCmd *command) (exitCode int compilerCmd = calcGccCommand(mainBuilder) } rusageLogfileName := getRusageLogFilename(env) + bisectStage := getBisectStage(env) if shouldForceDisableWError(env) { if rusageLogfileName != "" { return 0, newUserErrorf("GETRUSAGE is meaningless with FORCE_DISABLE_WERROR") } + if bisectStage != "" { + return 0, newUserErrorf("BISECT_STAGE is meaningless with FORCE_DISABLE_WERROR") + } return doubleBuildWithWNoError(env, cfg, compilerCmd) } if rusageLogfileName != "" { + if bisectStage != "" { + return 0, newUserErrorf("BISECT_STAGE is meaningless with GETRUSAGE") + } return logRusage(env, rusageLogfileName, compilerCmd) } + if bisectStage != "" { + compilerCmd = calcBisectCommand(env, bisectStage, compilerCmd) + } // Note: We return an exit code only if the underlying env is not // really doing an exec, e.g. commandRecordingEnv. return wrapSubprocessErrorWithSourceLoc(compilerCmd, env.exec(compilerCmd)) |