r245621 - [analyzer] Fix for PR24112 (scan-build doesn't work with --use-analyzer="path to clang++.exe").

Anton Yartsev via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 20 15:35:50 PDT 2015


It looks like the answer is no, paths to clang and clang++ executables are used to initialize CLANG and CLANG_CXX environment variables.

> Can't we just use the --driver-mode flag instead of trying to mangle the
> executable name?
>
> Peter
>
> On Thu, Aug 20, 2015 at 09:52:39PM -0000, Anton Yartsev via cfe-commits wrote:
>> Author: ayartsev
>> Date: Thu Aug 20 16:52:39 2015
>> New Revision: 245621
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=245621&view=rev
>> Log:
>> [analyzer] Fix for PR24112 (scan-build doesn't work with --use-analyzer="path to clang++.exe").
>>
>> Don't derive the path_to_clang++ from the path_to_clang if the path_to_clang is really the path_to_clang++.
>>
>> Modified:
>>      cfe/trunk/tools/scan-build/scan-build
>>
>> Modified: cfe/trunk/tools/scan-build/scan-build
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-build/scan-build?rev=245621&r1=245620&r2=245621&view=diff
>> ==============================================================================
>> --- cfe/trunk/tools/scan-build/scan-build (original)
>> +++ cfe/trunk/tools/scan-build/scan-build Thu Aug 20 16:52:39 2015
>> @@ -1646,14 +1646,20 @@ if ($ForceDisplayHelp || $RequestDisplay
>>   }
>>   
>>   $ClangCXX = $Clang;
>> -# Determine operating system under which this copy of Perl was built.
>> -my $IsWinBuild = ($^O =~/msys|cygwin|MSWin32/);
>> -if($IsWinBuild) {
>> -  $ClangCXX =~ s/.exe$/++.exe/;
>> -}
>> -else {
>> -  $ClangCXX =~ s/\-\d+\.\d+$//;
>> -  $ClangCXX .= "++";
>> +if ($Clang !~ /\+\+(\.exe)?$/) {
>> +  # If $Clang holds the name of the clang++ executable then we leave
>> +  # $ClangCXX and $Clang equal, otherwise construct the name of the clang++
>> +  # executable from the clang executable name.
>> +
>> +  # Determine operating system under which this copy of Perl was built.
>> +  my $IsWinBuild = ($^O =~/msys|cygwin|MSWin32/);
>> +  if($IsWinBuild) {
>> +    $ClangCXX =~ s/.exe$/++.exe/;
>> +  }
>> +  else {
>> +    $ClangCXX =~ s/\-\d+\.\d+$//;
>> +    $ClangCXX .= "++";
>> +  }
>>   }
>>   
>>   # Make sure to use "" to handle paths with spaces.
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

-- 
Anton



More information about the cfe-commits mailing list