@@ -321,7 +321,7 @@ AC_ARG_ENABLE([gprof],
321321dnl Turn warnings into errors
322322AC_ARG_ENABLE ( [ werror] ,
323323 [ AS_HELP_STRING ( [ --enable-werror] ,
324- [ Treat certain compiler warnings as errors (default is no)] ) ] ,
324+ [ Treat compiler warnings as errors (default is no)] ) ] ,
325325 [ enable_werror=$enableval] ,
326326 [ enable_werror=no] )
327327
@@ -409,34 +409,13 @@ if test "x$enable_werror" = "xyes"; then
409409 if test "x$CXXFLAG_WERROR" = "x"; then
410410 AC_MSG_ERROR ( "enable-werror set but - Werror is not usable" )
411411 fi
412- AX_CHECK_COMPILE_FLAG ( [ -Werror=gnu] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=gnu"] ,,[ [ $CXXFLAG_WERROR] ] )
413- AX_CHECK_COMPILE_FLAG ( [ -Werror=vla] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=vla"] ,,[ [ $CXXFLAG_WERROR] ] )
414- AX_CHECK_COMPILE_FLAG ( [ -Werror=shadow-field] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=shadow-field"] ,,[ [ $CXXFLAG_WERROR] ] )
415- AX_CHECK_COMPILE_FLAG ( [ -Werror=switch] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=switch"] ,,[ [ $CXXFLAG_WERROR] ] )
416- AX_CHECK_COMPILE_FLAG ( [ -Werror=thread-safety] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=thread-safety"] ,,[ [ $CXXFLAG_WERROR] ] )
417- AX_CHECK_COMPILE_FLAG ( [ -Werror=range-loop-analysis] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=range-loop-analysis"] ,,[ [ $CXXFLAG_WERROR] ] )
418- AX_CHECK_COMPILE_FLAG ( [ -Werror=unused-variable] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=unused-variable"] ,,[ [ $CXXFLAG_WERROR] ] )
419- AX_CHECK_COMPILE_FLAG ( [ -Werror=date-time] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=date-time"] ,,[ [ $CXXFLAG_WERROR] ] )
412+ ERROR_CXXFLAGS=$CXXFLAG_WERROR
420413
421414 dnl -Wreturn-type is broken in GCC for MinGW-w64.
422415 dnl https://sourceforge.net/p/mingw-w64/bugs/306/
423- AX_CHECK_COMPILE_FLAG ( [ -Werror=return-type] , [ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror =return-type"] , [ ] , [ $CXXFLAG_WERROR] ,
416+ AX_CHECK_COMPILE_FLAG ( [ -Werror=return-type] , [ ] , [ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Wno-error =return-type"] , [ $CXXFLAG_WERROR] ,
424417 [ AC_LANG_SOURCE ( [ [ #include <cassert>
425418 int f(){ assert(false); }] ] ) ] )
426-
427- AX_CHECK_COMPILE_FLAG ( [ -Werror=conditional-uninitialized] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=conditional-uninitialized"] ,,[ [ $CXXFLAG_WERROR] ] )
428- AX_CHECK_COMPILE_FLAG ( [ -Werror=sign-compare] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=sign-compare"] ,,[ [ $CXXFLAG_WERROR] ] )
429- dnl -Wsuggest-override is broken with GCC before 9.2
430- dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78010
431- AX_CHECK_COMPILE_FLAG ( [ -Werror=suggest-override] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=suggest-override"] ,,[ [ $CXXFLAG_WERROR] ] ,
432- [ AC_LANG_SOURCE ( [ [ struct A { virtual void f(); }; struct B : A { void f() final; };] ] ) ] )
433- AX_CHECK_COMPILE_FLAG ( [ -Werror=unreachable-code-loop-increment] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=unreachable-code-loop-increment"] ,,[ [ $CXXFLAG_WERROR] ] )
434- AX_CHECK_COMPILE_FLAG ( [ -Werror=mismatched-tags] , [ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=mismatched-tags"] , [ ] , [ $CXXFLAG_WERROR] )
435- AX_CHECK_COMPILE_FLAG ( [ -Werror=implicit-fallthrough] , [ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=implicit-fallthrough"] , [ ] , [ $CXXFLAG_WERROR] )
436-
437- if test x$suppress_external_warnings = xno ; then
438- AX_CHECK_COMPILE_FLAG ( [ -Werror=documentation] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=documentation"] ,,[ [ $CXXFLAG_WERROR] ] )
439- fi
440419fi
441420
442421if test "x$CXXFLAGS_overridden" = "xno"; then
@@ -460,6 +439,8 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
460439 AX_CHECK_COMPILE_FLAG ( [ -Wduplicated-cond] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wduplicated-cond"] ,,[ [ $CXXFLAG_WERROR] ] )
461440 AX_CHECK_COMPILE_FLAG ( [ -Wlogical-op] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wlogical-op"] ,,[ [ $CXXFLAG_WERROR] ] )
462441 AX_CHECK_COMPILE_FLAG ( [ -Woverloaded-virtual] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Woverloaded-virtual"] ,,[ [ $CXXFLAG_WERROR] ] )
442+ dnl -Wsuggest-override is broken with GCC before 9.2
443+ dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78010
463444 AX_CHECK_COMPILE_FLAG ( [ -Wsuggest-override] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"] ,,[ [ $CXXFLAG_WERROR] ] ,
464445 [ AC_LANG_SOURCE ( [ [ struct A { virtual void f(); }; struct B : A { void f() final; };] ] ) ] )
465446 AX_CHECK_COMPILE_FLAG ( [ -Wunreachable-code-loop-increment] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunreachable-code-loop-increment"] ,,[ [ $CXXFLAG_WERROR] ] )
0 commit comments