Browse Source

Include stdio.h before wchar.h, to work around a bug
in glibc 2.1.3.

Paul Eggert 25 years ago
parent
commit
ee21d9f1e3
1 changed files with 7 additions and 2 deletions
  1. 7 2
      m4/mbstate_t.m4

+ 7 - 2
m4/mbstate_t.m4

@@ -1,4 +1,4 @@
-# serial 1
+# serial 2
 
 # From Paul Eggert.
 
@@ -6,9 +6,14 @@
 # so you can't declare an object of that type.
 # Check for this incompatibility with Standard C.
 
+# Include stdio.h first, because otherwise this test would fail on Linux
+# (at least 2.2.16) because the `_XOPEN_SOURCE 500' definition elicits
+# a syntax error in wchar.h due to the use of undefined __int32_t.
+
 AC_DEFUN(AC_MBSTATE_T_OBJECT,
   [AC_CACHE_CHECK([for mbstate_t object type], ac_cv_type_mbstate_t_object,
-    [AC_TRY_COMPILE([#include <wchar.h>],
+    [AC_TRY_COMPILE([#include <stdio.h>
+#include <wchar.h>],
       [mbstate_t x; return sizeof x;],
       ac_cv_type_mbstate_t_object=yes,
       ac_cv_type_mbstate_t_object=no)])