Avoid segfault in processes of type 'pipe'
[emacs.git] / m4 / stddef_h.m4
blobba3d201cf375ed1f445326a57c2a95270a5f1bec
1 dnl A placeholder for <stddef.h>, for platforms that have issues.
2 # stddef_h.m4 serial 5
3 dnl Copyright (C) 2009-2018 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 AC_DEFUN([gl_STDDEF_H],
10   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
11   AC_REQUIRE([gt_TYPE_WCHAR_T])
12   STDDEF_H=
13   AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h],
14     [[#include <stddef.h>
15     ]])
16   if test $gt_cv_c_wchar_t = no; then
17     HAVE_WCHAR_T=0
18     STDDEF_H=stddef.h
19   fi
20   AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
21     [gl_cv_decl_null_works],
22     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
23       int test[2 * (sizeof NULL == sizeof (void *)) -1];
24 ]])],
25       [gl_cv_decl_null_works=yes],
26       [gl_cv_decl_null_works=no])])
27   if test $gl_cv_decl_null_works = no; then
28     REPLACE_NULL=1
29     STDDEF_H=stddef.h
30   fi
31   AC_SUBST([STDDEF_H])
32   AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
33   if test -n "$STDDEF_H"; then
34     gl_NEXT_HEADERS([stddef.h])
35   fi
38 AC_DEFUN([gl_STDDEF_MODULE_INDICATOR],
40   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
41   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
42   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
45 AC_DEFUN([gl_STDDEF_H_DEFAULTS],
47   dnl Assume proper GNU behavior unless another module says otherwise.
48   REPLACE_NULL=0;                AC_SUBST([REPLACE_NULL])
49   HAVE_MAX_ALIGN_T=1;            AC_SUBST([HAVE_MAX_ALIGN_T])
50   HAVE_WCHAR_T=1;                AC_SUBST([HAVE_WCHAR_T])