diff --git a/.travis.yml b/.travis.yml index 4db9f00f25..eeba2d2305 100644 --- a/.travis.yml +++ b/.travis.yml @@ -884,7 +884,7 @@ jobs: #OK# - env: NUT_MATRIX_TAG="gnu99-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=gcc-7 CXX=g++-7 #OK# - env: NUT_MATRIX_TAG="gnu11-gcc-7-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu11" CXXFLAGS="-std=gnu++11" CC=gcc-7 CXX=g++-7 #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=gcc-9 CXX=g++-9 - - env: NUT_MATRIX_TAG="gnu99-clang-5.0-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang-5.0 CXX=clang++-5.0 +#OK# - env: NUT_MATRIX_TAG="gnu99-clang-5.0-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu99" CXXFLAGS="-std=gnu++99" CC=clang-5.0 CXX=clang++-5.0 #OK# - env: NUT_MATRIX_TAG="gnu17-clang-8-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=gnu17" CXXFLAGS="-std=gnu++17" CC=clang-8 CXX=clang++-8 #OK# - env: NUT_MATRIX_TAG="gnu17-gcc-9-warn" BUILD_TYPE=default-all-errors CFLAGS="-Wall -Wextra -Werror -pedantic -std=gnu17" CXXFLAGS="-Wall -Wextra -Werror -std=gnu++17" CC=gcc-9 CXX=g++-9 - env: NUT_MATRIX_TAG="c99-clang-3.5-nowarn" BUILD_TYPE=default-all-errors CFLAGS="-std=c99" CXXFLAGS="-std=c++99" CC=clang-3.5 CXX=clang++-3.5 diff --git a/configure.ac b/configure.ac index 07e7b2d8a1..a3609c5d75 100644 --- a/configure.ac +++ b/configure.ac @@ -1467,17 +1467,22 @@ CPLUSPLUS_MAIN='printf("%ld\n", __cplusplus);' AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[${CPLUSPLUS_DECL}]], [[${CPLUSPLUS_MAIN}]])], [AC_MSG_RESULT([yes, out of the box]) have_cxx11=yes], - [CXXFLAGS="$CXXFLAGS -std=c++11" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[${CPLUSPLUS_DECL}]], [[${CPLUSPLUS_MAIN}]])], - [AC_MSG_RESULT([yes, GCC-style (as C++11)]) - have_cxx11=yes], - [CXXFLAGS="$CXXFLAGS -std=c++0x" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[${CPLUSPLUS_DECL}]], [[${CPLUSPLUS_MAIN}]])], - [AC_MSG_RESULT([yes, GCC-style (as C++0X)]) - have_cxx11=yes], - [AC_MSG_RESULT([no]) - CXXFLAGS="$my_CXXFLAGS" - have_cxx11=no])])]) + [AS_CASE(["${CXXFLAGS}"], + [*"-std="*], [ + AC_MSG_RESULT([no, not with the standard already set in CXXFLAGS='${CXXFLAGS}']) + have_cxx11=no, + ],[ + CXXFLAGS="$CXXFLAGS -std=c++11" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[${CPLUSPLUS_DECL}]], [[${CPLUSPLUS_MAIN}]])], + [AC_MSG_RESULT([yes, GCC-style (as C++11)]) + have_cxx11=yes], + [CXXFLAGS="$CXXFLAGS -std=c++0x" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[${CPLUSPLUS_DECL}]], [[${CPLUSPLUS_MAIN}]])], + [AC_MSG_RESULT([yes, GCC-style (as C++0X)]) + have_cxx11=yes], + [AC_MSG_RESULT([no]) + CXXFLAGS="$my_CXXFLAGS" + have_cxx11=no])])])]) AM_CONDITIONAL(HAVE_CXX11, test "${have_cxx11}" = "yes") AC_LANG_POP([C++]) unset CPLUSPLUS_MAIN