@@ -110,8 +110,9 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
110110 CmdArgs.push_back (Args.MakeArgString (Twine (" -libpath:" ) + DIAPath));
111111 }
112112 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)) {
115116 CmdArgs.push_back (Args.MakeArgString (
116117 Twine (" -libpath:" ) +
117118 TC.getSubDirectoryPath (llvm::SubDirectoryType::Lib)));
@@ -120,8 +121,9 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
120121 TC.getSubDirectoryPath (llvm::SubDirectoryType::Lib, " atlmfc" )));
121122 }
122123 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)) {
125127 if (TC.useUniversalCRT ()) {
126128 std::string UniversalCRTLibPath;
127129 if (TC.getUniversalCRTLibraryPath (Args, UniversalCRTLibPath))
@@ -686,9 +688,12 @@ void MSVCToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
686688 return ;
687689
688690 // 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)) {
692697 bool Found = AddSystemIncludesFromEnv (" INCLUDE" );
693698 Found |= AddSystemIncludesFromEnv (" EXTERNAL_INCLUDE" );
694699 if (Found)
0 commit comments