Include stdio.h before wchar.h to work around
[pspp] / m4 / mbstate_t.m4
1 # serial 2
2
3 # From Paul Eggert.
4
5 # Some versions of BeOS define mbstate_t to be an incomplete type,
6 # so you can't declare an object of that type.
7 # Check for this incompatibility with Standard C.
8
9 # Include stdio.h first, because otherwise this test would fail on Linux
10 # (at least 2.2.16) because the `_XOPEN_SOURCE 500' definition elicits
11 # a syntax error in wchar.h due to the use of undefined __int32_t.
12
13 AC_DEFUN(AC_MBSTATE_T_OBJECT,
14   [AC_CACHE_CHECK([for mbstate_t object type], ac_cv_type_mbstate_t_object,
15     [AC_TRY_COMPILE([#include <stdio.h>
16 #include <wchar.h>],
17       [mbstate_t x; return sizeof x;],
18       ac_cv_type_mbstate_t_object=yes,
19       ac_cv_type_mbstate_t_object=no)])
20    if test $ac_cv_type_mbstate_t_object = yes; then
21      AC_DEFINE(HAVE_MBSTATE_T_OBJECT, 1,
22                [Define if mbstate_t is an object type.])
23    fi])