@@ -368,6 +368,10 @@ if test "x$enable_werror" = "xyes"; then
368
368
AX_CHECK_COMPILE_FLAG ( [ -Werror=return-type] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=return-type"] ,,[ [ $CXXFLAG_WERROR] ] )
369
369
AX_CHECK_COMPILE_FLAG ( [ -Werror=conditional-uninitialized] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=conditional-uninitialized"] ,,[ [ $CXXFLAG_WERROR] ] )
370
370
AX_CHECK_COMPILE_FLAG ( [ -Werror=sign-compare] ,[ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=sign-compare"] ,,[ [ $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; };] ] ) ] )
371
375
fi
372
376
373
377
if test "x$CXXFLAGS_overridden" = "xno"; then
@@ -385,6 +389,8 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
385
389
AX_CHECK_COMPILE_FLAG ( [ -Wdate-time] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdate-time"] ,,[ [ $CXXFLAG_WERROR] ] )
386
390
AX_CHECK_COMPILE_FLAG ( [ -Wconditional-uninitialized] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wconditional-uninitialized"] ,,[ [ $CXXFLAG_WERROR] ] )
387
391
AX_CHECK_COMPILE_FLAG ( [ -Wsign-compare] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsign-compare"] ,,[ [ $CXXFLAG_WERROR] ] )
392
+ AX_CHECK_COMPILE_FLAG ( [ -Wsuggest-override] ,[ WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"] ,,[ [ $CXXFLAG_WERROR] ] ,
393
+ [ AC_LANG_SOURCE ( [ [ struct A { virtual void f(); }; struct B : A { void f() final; };] ] ) ] )
388
394
389
395
dnl Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
390
396
dnl unknown options if any other warning is produced. Test the -Wfoo case, and
0 commit comments