# endif
#endif
-/*
- I've tracked down a weird bug in Perl5.6.1 to the UTS compiler's
- mishandling of MY_UV_MAX in util.c. It is defined as
- #ifndef MY_UV_MAX
- # define MY_UV_MAX ((UV)IV_MAX * (UV)2 + (UV)1)
- #endif
- The compiler handles {double floating point value} >= MY_UV_MAX as if
- MY_UV_MAX were the signed integer -1. In fact it will do the same
- thing with (UV)(0xffffffff), in place of MY_UV_MAX, though 0xffffffff
- *without* the typecast to UV works fine.
-
- hom00@utsglobal.com (Hal Morris) 2001-05-02
-
- */
-
-#ifdef UTS
-# define MY_UV_MAX 0xffffffff
+#if defined(uts) || defined(UTS)
+# undef UV_MAX
+# define UV_MAX (4294967295u)
#endif
#define IV_DIG (BIT_DIGITS(IVSIZE * 8))
# 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
#define RESTORE_NUMERIC_LOCAL() /**/
#define RESTORE_NUMERIC_STANDARD() /**/
#define Atof Perl_atof
+#define IN_LOCALE_RUNTIME 0
#endif /* !USE_LOCALE_NUMERIC */
USE_REENTRANT_API
+ HAS_NL_LANGINFO
+
so that Configure picks them up. */
#endif /* Include guard */