diff --git a/script/detect_gcc b/script/detect_gcc
index c9e712327e5cf093381daee802be66e56b989ac9..0b8ecfcc8e49fd723ea7b7688a02d6cf87f5de7a 100755
--- a/script/detect_gcc
+++ b/script/detect_gcc
@@ -56,19 +56,31 @@ function detect_compiler()
     # First we try to understand if g++ command line is linked to clang
     if haveProg g++; then
 
+      is_apple_llvm=no
+      prefix_search=""
       g++ --version | grep "Apple LLVM" >/dev/null 2>&1
       if [ $? == 0 ]; then
+         is_apple_llvm=yes
+         prefix_search="LLVM"
+      fi
+      g++ --version | grep "Apple clang" >/dev/null 2>&1
+      if [ $? == 0 ]; then
+         is_apple_llvm=yes
+         prefix_search="clang"
+      fi
+
+      if [ x"$is_apple_llvm" == x"yes" ]; then
         echo "Apple LLVM based g++"
 
         # we try the detect the version
-        major=$(g++ --version | grep LLVM | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g')
+        major=$(g++ --version | grep $prefix_search | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g')
 
         # we check if the detection is garbage
         echo "$major" | egrep -q '^[0-9]+$'
         if [ $? == 0 ]; then
-           dgc_major=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g')
-           dgc_middle=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\2/g')
-           dgc_minor=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\3/g')
+           dgc_major=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g')
+           dgc_middle=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\2/g')
+           dgc_minor=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\3/g')
 
            if [ $dgc_major -gt 6 ]; then
              echo -e "clang++ $dgc_major.$dgc_middle.$dgc_minor \033[92;1m SUCCESS \033[0m"