Make the previous commit actually work, and document the change.
diff --git a/NEWS b/NEWS index 023880b..9ffba6f 100644 --- a/NEWS +++ b/NEWS
@@ -27,10 +27,12 @@ *** AC_C_RESTRICT no longer triggers -Wkeyword-macro warnings from GCC 16. -*** AC_CHECK_FUNC and related macros now work better with Clang. +*** AC_CHECK_FUNC and related macros now work better with Clang and MSVC. Arguments like CFLAGS="-Wno-incompatible-library-redeclaration" are no longer needed when configuring with Clang in pedantic mode. + Similarly, arguments like CFLAGS="-Oi-" are no longer needed when + configuring with MSVC with enabled optimizations. * Noteworthy changes in release 2.73 (2026-03-20) [release]
diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index 15f0972..f3a1caa 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4
@@ -172,9 +172,9 @@ #ifdef _MSC_VER /* Tell MSVC to link the function without checking its type. */ -# ifdef _M_IX86 +# ifdef _M_IX86 /* x86 */ # pragma comment (linker, "/include:_$1") -# else +# else /* x86_64, arm, arm64 */ # pragma comment (linker, "/include:$1") # endif @@ -187,15 +187,19 @@ extern "C" # endif char $1 (void); -#endif - /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined __stub_$1 || defined __stub___$1 +# if defined __stub_$1 || defined __stub___$1 choke me +# endif + #endif -], [return $1 ();])]) +], [ +#ifndef _MSC_VER +return $1 (); +#endif +])]) # AC_LANG_BOOL_COMPILE_TRY(C)(PROLOGUE, EXPRESSION)