Fix test suite make so that -std=c++11 gets set properly for supported compilers and -std=c++0x gets set only for gcc 4.6 versions. Previously, -std=c++0x was being set for all compilers.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/make/Makefile.rules b/test/make/Makefile.rules
index 7414f04..d4a9145 100644
--- a/test/make/Makefile.rules
+++ b/test/make/Makefile.rules
@@ -96,12 +96,6 @@
 OBJECTS =
 EXE ?= a.out
 
-ifneq (,$(findstring g++,$(CXX)))
-	# 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
-
 ifneq "$(DYLIB_NAME)" ""
 	ifeq "$(OS)" "Darwin"
 		DYLIB_FILENAME = lib$(DYLIB_NAME).dylib
@@ -224,6 +218,17 @@
 	endif
 endif
 
+#----------------------------------------------------------------------
+# Check if we are compiling with gcc 4.6
+#----------------------------------------------------------------------
+ifneq (,$(filter g++,$(CXX)))
+	CXXVERSION = $(shell g++ -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
 
 #----------------------------------------------------------------------
 # DYLIB_ONLY variable can be used to skip the building of a.out.