typedef IVTYPE IV;
typedef UVTYPE UV;
-#ifdef INT32_MIN_BROKEN
-# undef INT32_MIN
-# define INT32_MIN (-2147483647-1)
-#endif
-
-#ifdef INT64_MIN_BROKEN
-# undef INT64_MIN
-# define INT64_MIN (-9223372036854775807LL-1)
-#endif
-
#if defined(USE_64_BIT_INT) && defined(HAS_QUAD)
# if QUADKIND == QUAD_IS_INT64_T && defined(INT64_MAX)
# define IV_MAX INT64_MAX
# define NEED_ENVIRON_DUP_FOR_MODIFY
#endif
+/*
+ * initialise to avoid floating-point exceptions from overflow, etc
+ */
+#ifndef PERL_FPU_INIT
+# ifdef HAS_FPSETMASK
+# if HAS_FLOATINGPOINT_H
+# include <floatingpoint.h>
+# endif
+# define PERL_FPU_INIT fpsetmask(0);
+# elif PERL_IGNORE_FPUSIG
+# define PERL_FPU_INIT signal(PERL_IGNORE_FPUSIG, SIG_IGN);
+# else
+# define PERL_FPU_INIT
+# endif
+#endif
+
#ifndef PERL_SYS_INIT3
# define PERL_SYS_INIT3(argvp,argcp,envp) PERL_SYS_INIT(argvp,argcp)
#endif