[GIT] ppl/ppl(master): Detect when clang++ is used, and disable -frounding-math in that case.

Module: ppl/ppl Branch: master Commit: fa6a077aa6dade2b1ab150fafc53ff0ceb68d829 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=fa6a077aa6dad...
Author: Marco Poletti poletti.marco@gmail.com Date: Sun Dec 4 15:04:11 2011 +0100
Detect when clang++ is used, and disable -frounding-math in that case.
---
configure.ac | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 48 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac index 912af57..db4f1d8 100644 --- a/configure.ac +++ b/configure.ac @@ -173,6 +173,25 @@ choke me AC_LANG_POP(C) fi
+# The clang compiler masquerades as gcc, but we want to know. +if test x"$GCC" = xyes +then + AC_MSG_CHECKING([whether we are actually using Clang]) + AC_LANG_PUSH(C) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +#ifndef __clang__ +choke me +#endif +]])], + AC_MSG_RESULT(yes) + CLANG=yes, + AC_MSG_RESULT(no) + CLANG=no, + AC_MSG_RESULT(no) + CLANG=no) + AC_LANG_POP(C) +fi + save_CXXFLAGS="$CXXFLAGS" AC_PROG_CXX CXXFLAGS="$save_CXXFLAGS" @@ -196,6 +215,25 @@ choke me AC_LANG_POP(C++) fi
+# The clang++ compiler masquerades as g++, but we want to know. +if test x"$GXX" = xyes +then + AC_MSG_CHECKING([whether we are actually using clang++]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +#ifndef __clang__ +choke me +#endif +]])], + AC_MSG_RESULT(yes) + CLANGXX=yes, + AC_MSG_RESULT(no) + CLANGXX=no, + AC_MSG_RESULT(no) + CLANGXX=no) + AC_LANG_POP(C++) +fi + AC_PROG_FGREP AC_PROG_EGREP AC_PROG_SED @@ -452,7 +490,16 @@ then then OPT_FLAGS="$OPT_FLAGS -fp-model strict -fp-speculation off" else - OPT_FLAGS="$OPT_FLAGS -frounding-math" + # -frounding-math is not yet supported in clang++, if we use it we get + # lots of warnings. + if test x"$CLANGXX" = xyes + then + AC_MSG_WARN([DISABLING -frounding-math: +*** clang++ detected, disabling -frounding-math. +*** NOTE THAT THIS CAN GIVE WRONG RESULTS!]) + else + OPT_FLAGS="$OPT_FLAGS -frounding-math" + fi fi fi
participants (1)
-
Marco Poletti