Improve test for g++ 4.6
authorEd Maste <emaste@freebsd.org>
Fri, 29 May 2015 19:52:02 +0000 (19:52 +0000)
committerEd Maste <emaste@freebsd.org>
Fri, 29 May 2015 19:52:02 +0000 (19:52 +0000)
Skip the g++ 4.6 test if we're not going to build any C++ source.
If a test has C++ source files we automatically determine which C++
compiler to use based on $CC (for example, clang++ if CC=clang).
However, this is not done for tests without C++ source and CXX will
be GNU make's default of g++.  This produces suprious "g++: not found"
errors in testrun output on systems without a gcc/g++.

Differential Revision: http://reviews.llvm.org/D10122

llvm-svn: 238603

lldb/test/make/Makefile.rules

index 9f3d60a..984adcd 100644 (file)
@@ -342,14 +342,16 @@ endif
 #----------------------------------------------------------------------
 # Check if we are compiling with gcc 4.6
 #----------------------------------------------------------------------
-ifneq (,$(filter g++,$(CXX)))
-       CXXVERSION = $(shell g++ -dumpversion | cut -b 1-3)
+ifneq "$(strip $(CXX_SOURCES) $(OBJCXX_SOURCES))" ""
+ifneq "$(filter g++,$(CXX))" ""
+       CXXVERSION = $(shell $(CXX) -dumpversion | cut -b 1-3)
        ifeq "$(CXXVERSION)" "4.6"
                 # GCC 4.6 cannot handle -std=c++11, so replace it with -std=c++0x
                 # instead. FIXME: remove once GCC version is upgraded.
                override CXXFLAGS := $(subst -std=c++11,-std=c++0x,$(CXXFLAGS))
        endif
 endif
+endif
 
 #----------------------------------------------------------------------
 # DYLIB_ONLY variable can be used to skip the building of a.out.