stddef.in.h | stddef.in.h | |||
---|---|---|---|---|
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues. | /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues. | |||
Copyright (C) 2009, 2010 Free Software Foundation, Inc. | Copyright (C) 2009-2014 Free Software Foundation, Inc. | |||
This program is free software; you can redistribute it and/or modify | This program is free software; you can redistribute it and/or modify | |||
it under the terms of the GNU Lesser General Public License as published by | it under the terms of the GNU Lesser General Public License as published by | |||
the Free Software Foundation; either version 2, or (at your option) | the Free Software Foundation; either version 2, or (at your option) | |||
any later version. | any later version. | |||
This program is distributed in the hope that it will be useful, | This program is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
GNU Lesser General Public License for more details. | GNU Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public License | You should have received a copy of the GNU Lesser General Public License | |||
along with this program; if not, write to the Free Software Foundation, | along with this program; if not, see <http://www.gnu.org/licenses/>. */ | |||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ | ||||
/* Written by Eric Blake. */ | /* Written by Eric Blake. */ | |||
/* | /* | |||
* POSIX 2008 <stddef.h> for platforms that have issues. | * POSIX 2008 <stddef.h> for platforms that have issues. | |||
* <http://www.opengroup.org/susv3xbd/stddef.h.html> | * <http://www.opengroup.org/susv3xbd/stddef.h.html> | |||
*/ | */ | |||
#if __GNUC__ >= 3 | #if __GNUC__ >= 3 | |||
@PRAGMA_SYSTEM_HEADER@ | @PRAGMA_SYSTEM_HEADER@ | |||
#endif | #endif | |||
@PRAGMA_COLUMNS@ | ||||
#if defined __need_wchar_t || defined __need_size_t \ | #if defined __need_wchar_t || defined __need_size_t \ | |||
|| defined __need_ptrdiff_t || defined __need_NULL \ | || defined __need_ptrdiff_t || defined __need_NULL \ | |||
|| defined __need_wint_t | || defined __need_wint_t | |||
/* Special invocation convention inside gcc header files. In | /* Special invocation convention inside gcc header files. In | |||
particular, gcc provides a version of <stddef.h> that blindly | particular, gcc provides a version of <stddef.h> that blindly | |||
redefines NULL even when __need_wint_t was defined, even though | redefines NULL even when __need_wint_t was defined, even though | |||
wint_t is not normally provided by <stddef.h>. Hence, we must | wint_t is not normally provided by <stddef.h>. Hence, we must | |||
remember if special invocation has ever been used to obtain wint_t, | remember if special invocation has ever been used to obtain wint_t, | |||
in which case we need to clean up NULL yet again. */ | in which case we need to clean up NULL yet again. */ | |||
# if !(defined _GL_STDDEF_H && defined _GL_STDDEF_WINT_T) | # if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) | |||
# ifdef __need_wint_t | # ifdef __need_wint_t | |||
# undef _GL_STDDEF_H | # undef _@GUARD_PREFIX@_STDDEF_H | |||
# define _GL_STDDEF_WINT_T | # define _GL_STDDEF_WINT_T | |||
# endif | # endif | |||
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@ | # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ | |||
# endif | # endif | |||
#else | #else | |||
/* Normal invocation convention. */ | /* Normal invocation convention. */ | |||
# ifndef _GL_STDDEF_H | # ifndef _@GUARD_PREFIX@_STDDEF_H | |||
/* The include_next requires a split double-inclusion guard. */ | /* The include_next requires a split double-inclusion guard. */ | |||
# @INCLUDE_NEXT@ @NEXT_STDDEF_H@ | # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ | |||
# ifndef _GL_STDDEF_H | # ifndef _@GUARD_PREFIX@_STDDEF_H | |||
# define _GL_STDDEF_H | # define _@GUARD_PREFIX@_STDDEF_H | |||
/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ | /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ | |||
#if @REPLACE_NULL@ | #if @REPLACE_NULL@ | |||
# undef NULL | # undef NULL | |||
# ifdef __cplusplus | # ifdef __cplusplus | |||
/* ISO C++ says that the macro NULL must expand to an integer constant | /* ISO C++ says that the macro NULL must expand to an integer constant | |||
expression, hence '((void *) 0)' is not allowed in C++. */ | expression, hence '((void *) 0)' is not allowed in C++. */ | |||
# if __GNUG__ >= 3 | # if __GNUG__ >= 3 | |||
/* GNU C++ has a __null macro that behaves like an integer ('int' or | /* GNU C++ has a __null macro that behaves like an integer ('int' or | |||
'long') but has the same size as a pointer. Use that, to avoid | 'long') but has the same size as a pointer. Use that, to avoid | |||
skipping to change at line 84 | skipping to change at line 84 | |||
# else | # else | |||
# define NULL ((void *) 0) | # define NULL ((void *) 0) | |||
# endif | # endif | |||
#endif | #endif | |||
/* Some platforms lack wchar_t. */ | /* Some platforms lack wchar_t. */ | |||
#if !@HAVE_WCHAR_T@ | #if !@HAVE_WCHAR_T@ | |||
# define wchar_t int | # define wchar_t int | |||
#endif | #endif | |||
# endif /* _GL_STDDEF_H */ | # endif /* _@GUARD_PREFIX@_STDDEF_H */ | |||
# endif /* _GL_STDDEF_H */ | # endif /* _@GUARD_PREFIX@_STDDEF_H */ | |||
#endif /* __need_XXX */ | #endif /* __need_XXX */ | |||
End of changes. 8 change blocks. | ||||
10 lines changed or deleted | 10 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |