This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump version to 5.25.4
[perl5.git] / win32 / config_H.vc
index 3444bce..3d17f63 100644 (file)
  *     LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
  *     LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
  *     LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
- *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
- *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
+ *     LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
  *     LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *     It is only defined if the system supports long doubles.
  */
 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN     2
 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN                3
 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN           4
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN      5
-#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE      5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE      6
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE      7
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE      8
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT                  -1
 #endif
 
  *     This symbol, if defined, indicates that the BSD socketpair() call is
  *     supported.
  */
-/* HAS_MSG_CTRUNC:
- *     This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- *     This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- *     This symbol, if defined, indicates that the MSG_OOB is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- *     This symbol, if defined, indicates that the MSG_PEEK is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- *     This symbol, if defined, indicates that the MSG_PROXY is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- *     This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- *     Checking just with #ifdef might not be enough because this symbol
- *     has been known to be an enum.
- */
 /* HAS_SOCKADDR_SA_LEN:
  *     This symbol, if defined, indicates that the struct sockaddr
  *     structure has a member called sa_len, indicating the length of
 #define        HAS_SOCKET              /**/
 /*#define      HAS_SOCKETPAIR  / **/
 /*#define      HAS_SOCKADDR_SA_LEN     / **/
-/*#define      HAS_MSG_CTRUNC  / **/
-/*#define      HAS_MSG_DONTROUTE       / **/
-/*#define      HAS_MSG_OOB     / **/
-/*#define      HAS_MSG_PEEK    / **/
-/*#define      HAS_MSG_PROXY   / **/
-/*#define      HAS_SCM_RIGHTS  / **/
 /*#define      HAS_SOCKADDR_IN6        / **/
 #define        HAS_SIN6_SCOPE_ID       /**/
 /*#define      HAS_IP_MREQ     / **/
  */
 #define DOUBLESIZE 8           /**/
 
+/* DOUBLEINFBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes for the double precision infinity.
+ */
+/* DOUBLENANBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes (0xHH) for the double precision not-a-number.
+ */
+/* LONGDBLINFBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes for the long double precision infinity.
+ */
+/* LONGDBLNANBYTES:
+ *     This symbol, if defined, is a comma-separated list of
+ *     hexadecimal bytes (0xHH) for the long double precision not-a-number.
+ */
+#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f          /**/
+#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f          /**/
+#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f         /**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f         /**/
+
+/* DOUBLEMANTBITS:
+ *     This symbol, if defined, tells how many mantissa bits
+ *     there are in double precision floating point format.
+ *      Note that this is usually DBL_MANT_DIG minus one, since
+ *      with the standard IEEE 754 formats DBL_MANT_DIG includes
+ *     the implicit bit, which doesn't really exist.
+ */
+#define DOUBLEMANTBITS 52
+
+/* LONGDBLMANTBITS:
+ *     This symbol, if defined, tells how many mantissa bits
+ *     there are in long double precision floating point format.
+ *      Note that this can be LDBL_MANT_DIG minus one,
+ *      since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+ *      The common x86-style 80-bit long double does not have
+ *     an implicit bit.
+ */
+#define LONGDBLMANTBITS 52
+
 /* EBCDIC:
  *     This symbol, if defined, indicates that this system uses
  *     EBCDIC encoding.
  *     a prototype for the modfl() function.  Otherwise, it is up
  *     to the program to supply one.
  */
-/* HAS_MODFL_POW32_BUG:
- *     This symbol, if defined, indicates that the modfl routine is
- *     broken for long doubles >= pow(2, 32).
- *     For example from 4294967303.150000 one would get 4294967302.000000
- *     and 1.150000.  The bug has been seen in certain versions of glibc,
- *     release 2.2.2 is known to be okay.
- */
 /*#define HAS_MODFL            / **/
 /*#define HAS_MODFL_PROTO              / **/
-/*#define HAS_MODFL_POW32_BUG          / **/
 
 /* HAS_MPROTECT:
  *     This symbol, if defined, indicates that the mprotect system call is