]> Savannah Git Hosting - gnulib.git/commitdiff
wchar: fix bug when checking for ‘inline’
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Jul 2018 01:57:01 +0000 (18:57 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Jul 2018 01:58:19 +0000 (18:58 -0700)
I discovered this when looking into using the regex module
with Emacs.
* m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
conftest1.c and conftest2.c but these files were not created.
As far as I can see, this check never worked and nobody reported
it until now, which is a bit worrisome.

ChangeLog
m4/wchar_h.m4

index f556f04fbbc74e2f91af34d61aacb694a9a80403..a220b9c412b4051eb3ad64e14a3ae53cc1edf1c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       wchar: fix bug when checking for ‘inline’
+       I discovered this when looking into using the regex module
+       with Emacs.
+       * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
+       2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
+       conftest1.c and conftest2.c but these files were not created.
+       As far as I can see, this check never worked and nobody reported
+       it until now, which is a bit worrisome.
+
 2018-06-30  Jim Meyering  <meyering@fb.com>
 
        bootstrap: s/--option val/--option=val/
index 416e0a1f8046c3e74b77e1f281f9a752a03ec3cf..a062ca981df3106e0afb8005476ef4b015e09262 100644 (file)
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Eric Blake.
 
-# wchar_h.m4 serial 42
+# wchar_h.m4 serial 43
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -90,7 +90,8 @@ int main () { return zero(); }
      dnl that the object file has the latter name from the start.
      save_ac_compile="$ac_compile"
      ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
-     if AC_TRY_EVAL([ac_compile]); then
+     if echo '#include "conftest.c"' >conftest1.c &&
+        AC_TRY_EVAL([ac_compile]); then
        AC_LANG_CONFTEST([
          AC_LANG_SOURCE([[#define wcstod renamed_wcstod
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -105,7 +106,8 @@ int zero (void) { return 0; }
 ]])])
        dnl See note above about renaming object files.
        ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
-       if AC_TRY_EVAL([ac_compile]); then
+       if echo '#include "conftest.c"' >conftest2.c &&
+          AC_TRY_EVAL([ac_compile]); then
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
            :
          else
@@ -114,7 +116,7 @@ int zero (void) { return 0; }
        fi
      fi
      ac_compile="$save_ac_compile"
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+     rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext
     ])
   if test $gl_cv_header_wchar_h_correct_inline = no; then
     AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).