When the build command is xcodebuild, set the magical environment variable LDPLUSPLUS to g++ to ensure that C++ object files are linked with g++ instead of gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51621 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/scan-build b/utils/scan-build
index a7ce797..64419a3 100755
--- a/utils/scan-build
+++ b/utils/scan-build
@@ -511,13 +511,19 @@
     }
   } 
   
-
   if ($Cmd eq "xcodebuild") {
     # Disable distributed builds for xcodebuild.
     AddIfNotPresent($Args,"-nodistribute");
 
     # Disable PCH files until clang supports them.
     AddIfNotPresent($Args,"GCC_PRECOMPILE_PREFIX_HEADER=NO");
+    
+    # When 'CC' is set, xcodebuild uses it to do all linking, even if we are
+    # linking C++ object files.  Set 'LDPLUSPLUS' so that xcodebuild uses 'g++'
+    # when linking such files.
+    my $LDPLUSPLUS = `which g++`;
+    $LDPLUSPLUS =~ s/\015?\012//;  # strip newlines
+    $ENV{'LDPLUSPLUS'} = $LDPLUSPLUS;    
   }
   
   system(@$Args);