X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fmbstate_t.m4;h=ed001179889abf292a9eb139b066c9ccf087f7d4;hb=23eecb48e39afd0d267d64d40ba6bf97aa865e13;hp=4cbbfd5b822fb564baa65fc9d03459cbc98c1e2f;hpb=86ba26a5dfcfd9246e8bc6aa365ba73e5421cb67;p=gnulib.git diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4 index 4cbbfd5b8..ed0011798 100644 --- a/m4/mbstate_t.m4 +++ b/m4/mbstate_t.m4 @@ -1,18 +1,41 @@ -# serial 1 +# mbstate_t.m4 serial 13 +dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. # From Paul Eggert. -# Some versions of BeOS define mbstate_t to be an incomplete type, +# BeOS 5 has but does not define mbstate_t, # so you can't declare an object of that type. # Check for this incompatibility with Standard C. -AC_DEFUN(AC_MBSTATE_T_OBJECT, - [AC_CACHE_CHECK([for mbstate_t object type], ac_cv_type_mbstate_t_object, - [AC_TRY_COMPILE([#include ], - [mbstate_t x; return sizeof x;], - ac_cv_type_mbstate_t_object=yes, - ac_cv_type_mbstate_t_object=no)]) - if test $ac_cv_type_mbstate_t_object = yes; then - AC_DEFINE(HAVE_MBSTATE_T_OBJECT, 1, - [Define if mbstate_t is an object type.]) - fi]) +# AC_TYPE_MBSTATE_T +# ----------------- +AC_DEFUN([AC_TYPE_MBSTATE_T], +[ + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl for HP-UX 11.11 + + AC_CACHE_CHECK([for mbstate_t], [ac_cv_type_mbstate_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include ]], + [[mbstate_t x; return sizeof x;]])], + [ac_cv_type_mbstate_t=yes], + [ac_cv_type_mbstate_t=no])]) + if test $ac_cv_type_mbstate_t = yes; then + AC_DEFINE([HAVE_MBSTATE_T], [1], + [Define to 1 if declares mbstate_t.]) + else + AC_DEFINE([mbstate_t], [int], + [Define to a type if does not define.]) + fi +])