]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
AC_CHECK_DECL: when cached, don't overwrite a werror flag
authorNoah Misch <noah@cs.caltech.edu>
Sun, 25 Nov 2018 04:57:43 +0000 (20:57 -0800)
committerNoah Misch <noah@cs.caltech.edu>
Sun, 25 Nov 2018 04:57:43 +0000 (20:57 -0800)
* lib/autoconf/general.m4 (_AC_CHECK_DECL_BODY): Restore werror flags
inside the AC_CACHE_CHECK that saves them.  Commit
82ef7805faffa151e724aa76c245ec590d174580 broke this.  From Tom Lane
(trivial change).
* tests/semantics.at (AC_CHECK_DECLS): Test this.

lib/autoconf/general.m4
tests/semantics.at

index 58f7a64c41cf7c73e0f56b4ef30cf859d2aec799..e1d82b544c3f7a087810351783fbd0637dfedf3d 100644 (file)
@@ -2962,8 +2962,8 @@ m4_define([_AC_CHECK_DECL_BODY],
 @%:@endif
 ])],
                   [AS_VAR_SET([$[]3], [yes])],
-                  [AS_VAR_SET([$[]3], [no])])])
-  ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_save_werror_flag
+                  [AS_VAR_SET([$[]3], [no])])
+  ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_save_werror_flag])
   AS_LINENO_POP
 ])# _AC_CHECK_DECL_BODY
 
index ec44af3ad0e03d2f3ab0e85ef89fd92b78ee8bb4..49b892344567619ec74547f57360ece3196c72fa 100644 (file)
@@ -139,7 +139,11 @@ AT_CHECK_MACRO([AC_CHECK_DECLS],
                  extern char *declared (const char *);
                  #endif
                ]])
+  AC_LANG_WERROR
   AC_CHECK_DECL([undeclared (char *)], [AS_EXIT([1])],, [[]])
+  if test -z "$ac_c_werror_flag"; then
+    AC_MSG_ERROR([ac_c_werror_flag overwritten])
+  fi
 ]],
 [AT_CHECK_DEFINES(
 [#define HAVE_DECL_BASENAM 1