From 2091d244b23dbf5af36318a6e3922c8eba1f9cb4 Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Mon, 4 Jan 2010 12:13:58 -0600 Subject: [PATCH] Bug 529441: Build with -Werror=return-type (where available) so that not returning a value from a non-void function results in a build error instead of a warning. r=luser --- configure.in | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/configure.in b/configure.in index 256cec3ac53c..a3b0e68b1d64 100644 --- a/configure.in +++ b/configure.in @@ -1533,6 +1533,24 @@ if test "$GNU_CXX"; then _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} ${_COMPILER_PREFIX}-Wno-variadic-macros" fi + AC_CACHE_CHECK(whether the compiler supports -Werror=return-type, + ac_has_werror_return_type, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + _SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror=return-type" + AC_TRY_COMPILE([], + [return(0);], + ac_has_werror_return_type="yes", + ac_has_werror_return_type="no") + CXXFLAGS="$_SAVE_CXXFLAGS" + AC_LANG_RESTORE + ]) + if test "$ac_has_werror_return_type" = "yes"; then + _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Werror=return-type" + fi + else _DEFINES_CXXFLAGS='-DMOZILLA_CLIENT -D_MOZILLA_CONFIG_H_ $(ACDEFINES)' fi