forked from mirrors/gecko-dev
		
	 b7a86dd2b5
			
		
	
	
		b7a86dd2b5
		
	
	
	
	
		
			
			In a proper VS install, the path to cl.exe looks like: ...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe In our automation, the path is just: ...\VC\bin\HostX64\x64\cl.exe Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| In a proper VS install, the path to cl.exe looks like:
 | |
| ...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe
 | |
| 
 | |
| In our automation, the path is just:
 | |
| ...\VC\bin\HostX64\x64\cl.exe
 | |
| 
 | |
| Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
 | |
| 
 | |
| diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp
 | |
| index 7978a6941cb..0159e89fa27 100644
 | |
| --- a/clang/lib/Driver/ToolChains/MSVC.cpp
 | |
| +++ b/clang/lib/Driver/ToolChains/MSVC.cpp
 | |
| @@ -152,8 +152,7 @@ static bool findVCToolChainViaEnvironment(std::string &Path,
 | |
|          // path components with these prefixes when walking backwards through
 | |
|          // the path.
 | |
|          // Note: empty strings match anything.
 | |
| -        llvm::StringRef ExpectedPrefixes[] = {"",     "Host",  "bin", "",
 | |
| -                                              "MSVC", "Tools", "VC"};
 | |
| +        llvm::StringRef ExpectedPrefixes[] = {"", "Host",  "bin"};
 | |
|  
 | |
|          auto It = llvm::sys::path::rbegin(PathEntry);
 | |
|          auto End = llvm::sys::path::rend(PathEntry);
 |