In some cases (for example, the Firefox build system), the CLANG_CXX variable is...
authorSylvestre Ledru <sylvestre@debian.org>
Tue, 18 Feb 2014 17:45:06 +0000 (17:45 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Tue, 18 Feb 2014 17:45:06 +0000 (17:45 +0000)
Extend the test (like it is done in scan-build) to check also if the variable
is empty or not.

llvm-svn: 201586

clang/tools/scan-build/ccc-analyzer

index 6884162..4dedc2f 100755 (executable)
@@ -41,19 +41,19 @@ if (`uname -a` =~ m/Darwin/) {
 
 if ($FindBin::Script =~ /c\+\+-analyzer/) {
   $Compiler = $ENV{'CCC_CXX'};
-  if (!defined $Compiler) { $Compiler = $DefaultCXXCompiler; }
+  if (!defined $Compiler || ! -x $Compiler) { $Compiler = $DefaultCXXCompiler; }
 
   $Clang = $ENV{'CLANG_CXX'};
-  if (!defined $Clang) { $Clang = 'clang++'; }
+  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; }
 
   $IsCXX = 1
 }
 else {
   $Compiler = $ENV{'CCC_CC'};
-  if (!defined $Compiler) { $Compiler = $DefaultCCompiler; }
+  if (!defined $Compiler || ! -x $Compiler) { $Compiler = $DefaultCCompiler; }
 
   $Clang = $ENV{'CLANG'};
-  if (!defined $Clang) { $Clang = 'clang'; }
+  if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; }
 
   $IsCXX = 0
 }