@@ -368,6 +368,10 @@ if test "x$enable_werror" = "xyes"; then
368368 AX_CHECK_COMPILE_FLAG ( [ -Werror=date-time] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=date-time"] ,,[ [ $CXXFLAG_WERROR] ] )
369369 AX_CHECK_COMPILE_FLAG ( [ -Werror=return-type] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=return-type"] ,,[ [ $CXXFLAG_WERROR] ] )
370370 AX_CHECK_COMPILE_FLAG ( [ -Werror=conditional-uninitialized] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=conditional-uninitialized"] ,,[ [ $CXXFLAG_WERROR] ] )
371+ dnl -Wsuggest-override is broken with GCC before 9.2
372+ dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78010
373+ AX_CHECK_COMPILE_FLAG ( [ -Werror=suggest-override] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=suggest-override"] ,,[ [ $CXXFLAG_WERROR] ] ,
374+ [ AC_LANG_SOURCE ( [ [ struct A { virtual void f(); }; struct B : A { void f() final; };] ] ) ] )
371375fi
372376
373377if test "x$CXXFLAGS_overridden" = "xno"; then
@@ -392,6 +396,8 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
392396 AX_CHECK_COMPILE_FLAG ( [ -Wunused-local-typedef] ,[ NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-local-typedef"] ,,[ [ $CXXFLAG_WERROR] ] )
393397 AX_CHECK_COMPILE_FLAG ( [ -Wdeprecated-register] ,[ NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-register"] ,,[ [ $CXXFLAG_WERROR] ] )
394398 AX_CHECK_COMPILE_FLAG ( [ -Wimplicit-fallthrough] ,[ NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-implicit-fallthrough"] ,,[ [ $CXXFLAG_WERROR] ] )
399+ AX_CHECK_COMPILE_FLAG ( [ -Wsuggest-override] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"] ,,[ [ $CXXFLAG_WERROR] ] ,
400+ [ AC_LANG_SOURCE ( [ [ struct A { virtual void f(); }; struct B : A { void f() final; };] ] ) ] )
395401fi
396402
397403enable_hwcrc32=no
0 commit comments