autoupdate
[gnulib.git] / lib / stdlib.in.h
index c857de4..047fac1 100644 (file)
 #else
 /* Normal invocation convention.  */
 
-#ifndef _GL_STDLIB_H
+#ifndef _@GUARD_PREFIX@_STDLIB_H
 
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
 
-#ifndef _GL_STDLIB_H
-#define _GL_STDLIB_H
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
 
 /* NetBSD 5.0 mis-defines NULL.  */
 #include <stddef.h>
@@ -81,18 +81,15 @@ struct random_data
 # endif
 #endif
 
-#if (@GNULIB_MKSTEMP@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
 /* On MacOS X 10.3, only <unistd.h> declares mkstemp.  */
+/* On MacOS X 10.5, only <unistd.h> declares mkstemps.  */
 /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
 /* But avoid namespace pollution on glibc systems and native Windows.  */
 # include <unistd.h>
 #endif
 
-#if 3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__
-# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
-#else
-# define _GL_ATTRIBUTE_NORETURN
-#endif
+/* The definition of _Noreturn is copied here.  */
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
@@ -119,7 +116,7 @@ struct random_data
 /* Terminate the current process with the given return code, without running
    the 'atexit' handlers.  */
 # if !@HAVE__EXIT@
-_GL_FUNCDECL_SYS (_Exit, void, (int status) _GL_ATTRIBUTE_NORETURN);
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
 # endif
 _GL_CXXALIAS_SYS (_Exit, void, (int status));
 _GL_CXXALIASWARN (_Exit);
@@ -259,25 +256,24 @@ _GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
    rely on GNU or POSIX semantics for malloc and realloc (for example,
    by never specifying a zero size), so it does not need malloc or
    realloc to be redefined.  */
-#if !_GL_USE_STDLIB_ALLOC
-# if @GNULIB_MALLOC_POSIX@
-#  if @REPLACE_MALLOC@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef malloc
-#    define malloc rpl_malloc
-#   endif
+#if @GNULIB_MALLOC_POSIX@
+# if @REPLACE_MALLOC@
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef malloc
+#   define malloc rpl_malloc
+#  endif
 _GL_FUNCDECL_RPL (malloc, void *, (size_t size));
 _GL_CXXALIAS_RPL (malloc, void *, (size_t size));
-#  else
+# else
 _GL_CXXALIAS_SYS (malloc, void *, (size_t size));
-#  endif
+# endif
 _GL_CXXALIASWARN (malloc);
-# elif defined GNULIB_POSIXCHECK
-#  undef malloc
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef malloc
 /* Assume malloc is always declared.  */
 _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
                  "use gnulib module malloc-posix for portability");
-# endif
 #endif
 
 /* Convert a multibyte character to a wide character.  */
@@ -535,25 +531,24 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
 #endif
 
 
-#if !_GL_USE_STDLIB_ALLOC
-# if @GNULIB_REALLOC_POSIX@
-#  if @REPLACE_REALLOC@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef realloc
-#    define realloc rpl_realloc
-#   endif
+#if @GNULIB_REALLOC_POSIX@
+# if @REPLACE_REALLOC@
+#  if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+        || _GL_USE_STDLIB_ALLOC)
+#   undef realloc
+#   define realloc rpl_realloc
+#  endif
 _GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
 _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
-#  else
+# else
 _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
-#  endif
+# endif
 _GL_CXXALIASWARN (realloc);
-# elif defined GNULIB_POSIXCHECK
-#  undef realloc
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef realloc
 /* Assume realloc is always declared.  */
 _GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
                  "use gnulib module realloc-posix for portability");
-# endif
 #endif
 
 #if @GNULIB_REALPATH@
@@ -762,6 +757,6 @@ _GL_CXXALIASWARN (wctomb);
 #endif
 
 
-#endif /* _GL_STDLIB_H */
-#endif /* _GL_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
 #endif