@@ -110,8 +110,9 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
110
110
CmdArgs.push_back (Args.MakeArgString (Twine (" -libpath:" ) + DIAPath));
111
111
}
112
112
if (!llvm::sys::Process::GetEnv (" LIB" ) ||
113
- Args.getLastArg (options::OPT__SLASH_vctoolsdir,
114
- options::OPT__SLASH_winsysroot)) {
113
+ Args.hasArg (options::OPT__SLASH_vctoolsdir,
114
+ options::OPT__SLASH_vctoolsversion,
115
+ options::OPT__SLASH_winsysroot)) {
115
116
CmdArgs.push_back (Args.MakeArgString (
116
117
Twine (" -libpath:" ) +
117
118
TC.getSubDirectoryPath (llvm::SubDirectoryType::Lib)));
@@ -120,8 +121,9 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
120
121
TC.getSubDirectoryPath (llvm::SubDirectoryType::Lib, " atlmfc" )));
121
122
}
122
123
if (!llvm::sys::Process::GetEnv (" LIB" ) ||
123
- Args.getLastArg (options::OPT__SLASH_winsdkdir,
124
- options::OPT__SLASH_winsysroot)) {
124
+ Args.hasArg (options::OPT__SLASH_winsdkdir,
125
+ options::OPT__SLASH_winsdkversion,
126
+ options::OPT__SLASH_winsysroot)) {
125
127
if (TC.useUniversalCRT ()) {
126
128
std::string UniversalCRTLibPath;
127
129
if (TC.getUniversalCRTLibraryPath (Args, UniversalCRTLibPath))
@@ -686,9 +688,12 @@ void MSVCToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
686
688
return ;
687
689
688
690
// Honor %INCLUDE% and %EXTERNAL_INCLUDE%. It should have essential search
689
- // paths set by vcvarsall.bat. Skip if the user expressly set a vctoolsdir.
690
- if (!DriverArgs.getLastArg (options::OPT__SLASH_vctoolsdir,
691
- options::OPT__SLASH_winsysroot)) {
691
+ // paths set by vcvarsall.bat. Skip if the user expressly set any of the
692
+ // Windows SDK or VC Tools options.
693
+ if (!DriverArgs.hasArg (
694
+ options::OPT__SLASH_vctoolsdir, options::OPT__SLASH_vctoolsversion,
695
+ options::OPT__SLASH_winsysroot, options::OPT__SLASH_winsdkdir,
696
+ options::OPT__SLASH_winsdkversion)) {
692
697
bool Found = AddSystemIncludesFromEnv (" INCLUDE" );
693
698
Found |= AddSystemIncludesFromEnv (" EXTERNAL_INCLUDE" );
694
699
if (Found)
0 commit comments