#endif
/* Use the reentrant APIs like localtime_r and getpwent_r */
-#if defined(USE_THREADS) && defined(USE_ITHREADS) && !defined(USE_REENTRANT)
-# define USE_REENTRANT
-#endif
-
-/* Tru64/Digital UNIX/DEC OSF/1 and Win32 have naturally
- * threadsafe libraries, no need to use any _r variants. */
-#ifdef USE_REENTRANT_API
-# if (defined(__osf__) && defined(__alpha)) || defined(WIN32)
-# undef USE_REEENTRANT_API
-# endif
+/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
+#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32)
+# define USE_REENTRANT_API
#endif
/* HP-UX 10.X CMA (Common Multithreaded Architecure) insists that
# ifdef LDBL_MANT_DIG
# define NV_MANT_DIG LDBL_MANT_DIG
# endif
+# ifdef LDBL_MIN
+# define NV_MIN LDBL_MIN
+# endif
+# ifdef LDBL_MAX
+# define NV_MAX LDBL_MAX
+# endif
+# ifdef LDBL_MIN_10_EXP
+# define NV_MIN_10_EXP LDBL_MIN_10_EXP
+# endif
+# ifdef LDBL_MAX_10_EXP
+# define NV_MAX_10_EXP LDBL_MAX_10_EXP
+# endif
+# ifdef LDBL_EPSILON
+# define NV_EPSILON LDBL_EPSILON
+# endif
# ifdef LDBL_MAX
# define NV_MAX LDBL_MAX
# define NV_MIN LDBL_MIN
# ifdef DBL_MANT_DIG
# define NV_MANT_DIG DBL_MANT_DIG
# endif
+# ifdef DBL_MIN
+# define NV_MIN DBL_MIN
+# endif
+# ifdef DBL_MAX
+# define NV_MAX DBL_MAX
+# endif
+# ifdef DBL_MIN_10_EXP
+# define NV_MIN_10_EXP DBL_MIN_10_EXP
+# endif
+# ifdef DBL_MAX_10_EXP
+# define NV_MAX_10_EXP DBL_MAX_10_EXP
+# endif
+# ifdef DBL_EPSILON
+# define NV_EPSILON DBL_EPSILON
+# endif
# ifdef DBL_MAX
# define NV_MAX DBL_MAX
# define NV_MIN DBL_MIN
/* flags in PL_exit_flags for nature of exit() */
#define PERL_EXIT_EXPECTED 0x01
+#define PERL_EXIT_DESTRUCT_END 0x02 /* Run END in perl_destruct */
#ifndef MEMBER_TO_FPTR
# define MEMBER_TO_FPTR(name) name
#include "scope.h"
#include "warnings.h"
#include "utf8.h"
+#include "sharedsv.h"
/* Current curly descriptor */
typedef struct curcur CURCUR;