forked from OSchip/llvm-project
[Driver] Make -B take precedence over COMPILER_PATH
There is currently no COMPILER_PATH test. A subsequent --ld-path patch will improve the coverage here.
This commit is contained in:
parent
9adbb5cb3a
commit
0afe172e2e
|
@ -978,17 +978,6 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|||
// FIXME: Handle environment options which affect driver behavior, somewhere
|
||||
// (client?). GCC_EXEC_PREFIX, LPATH, CC_PRINT_OPTIONS.
|
||||
|
||||
if (Optional<std::string> CompilerPathValue =
|
||||
llvm::sys::Process::GetEnv("COMPILER_PATH")) {
|
||||
StringRef CompilerPath = *CompilerPathValue;
|
||||
while (!CompilerPath.empty()) {
|
||||
std::pair<StringRef, StringRef> Split =
|
||||
CompilerPath.split(llvm::sys::EnvPathSeparator);
|
||||
PrefixDirs.push_back(std::string(Split.first));
|
||||
CompilerPath = Split.second;
|
||||
}
|
||||
}
|
||||
|
||||
// We look for the driver mode option early, because the mode can affect
|
||||
// how other options are parsed.
|
||||
ParseDriverMode(ClangExecutable, ArgList.slice(1));
|
||||
|
@ -1106,6 +1095,16 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|||
A->claim();
|
||||
PrefixDirs.push_back(A->getValue(0));
|
||||
}
|
||||
if (Optional<std::string> CompilerPathValue =
|
||||
llvm::sys::Process::GetEnv("COMPILER_PATH")) {
|
||||
StringRef CompilerPath = *CompilerPathValue;
|
||||
while (!CompilerPath.empty()) {
|
||||
std::pair<StringRef, StringRef> Split =
|
||||
CompilerPath.split(llvm::sys::EnvPathSeparator);
|
||||
PrefixDirs.push_back(std::string(Split.first));
|
||||
CompilerPath = Split.second;
|
||||
}
|
||||
}
|
||||
if (const Arg *A = Args.getLastArg(options::OPT__sysroot_EQ))
|
||||
SysRoot = A->getValue();
|
||||
if (const Arg *A = Args.getLastArg(options::OPT__dyld_prefix_EQ))
|
||||
|
|
Loading…
Reference in New Issue