summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2016-10-24 22:07:46 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2016-10-28 22:04:46 -0400
commit4cb05021f1602b1c29295f791d76ba4b38426f2a (patch)
tree14fd1f8cff8ca1bae0bcf4ea57380ccedc45957b /win32
parenta8b2934d541975842b17146eaf9343dd439e5eca (diff)
downloadperl-4cb05021f1602b1c29295f791d76ba4b38426f2a.tar.gz
Configure: add defs summarizing doublekind/longdblkind
For windows/netware It seems that many of the recent fp definitions have not been yet copied over there [1] [2], so went mostly by dead reckoning [3]. [1] Note that many of them are not absolutely necessary for building. [2] The proper updating involves doing stuff in win32, which I do not have. [3] As far as I can tell, Windows CE does not really not have long double.
Diffstat (limited to 'win32')
-rw-r--r--win32/config.ce13
-rw-r--r--win32/config.gc13
-rw-r--r--win32/config.vc13
-rw-r--r--win32/config_H.ce26
-rw-r--r--win32/config_H.gc41
-rw-r--r--win32/config_H.vc41
6 files changed, 147 insertions, 0 deletions
diff --git a/win32/config.ce b/win32/config.ce
index 8f68ddd890..47042d88c2 100644
--- a/win32/config.ce
+++ b/win32/config.ce
@@ -154,6 +154,14 @@ d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_double_has_inf='define'
+d_double_has_nan='define'
+d_double_has_negative_zero='define'
+d_double_has_subnormals='define'
+d_double_style_cray='undef'
+d_double_style_ibm='undef'
+d_double_style_ieee='define'
+d_double_style_vax='undef'
d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
@@ -333,6 +341,11 @@ d_lockf='undef'
d_log1p='undef'
d_log2='undef'
d_logb='undef'
+d_long_double_style_ieee='undef'
+d_long_double_style_ieee_doubledouble='undef'
+d_long_double_style_ieee_extended='undef'
+d_long_double_style_ieee_std='undef'
+d_long_double_style_vax='undef'
d_longdbl='undef'
d_longlong='undef'
d_lrint='undef'
diff --git a/win32/config.gc b/win32/config.gc
index 69a21a2a18..34b670e000 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -156,6 +156,14 @@ d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_double_has_inf='define'
+d_double_has_nan='define'
+d_double_has_negative_zero='define'
+d_double_has_subnormals='define'
+d_double_style_cray='undef'
+d_double_style_ibm='undef'
+d_double_style_ieee='define'
+d_double_style_vax='undef'
d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
@@ -333,6 +341,11 @@ d_lockf='undef'
d_log1p='undef'
d_log2='undef'
d_logb='undef'
+d_long_double_style_ieee='undef'
+d_long_double_style_ieee_doubledouble='undef'
+d_long_double_style_ieee_extended='define'
+d_long_double_style_ieee_std='undef'
+d_long_double_style_vax='undef'
d_longdbl='define'
d_longlong='define'
d_lrint='undef'
diff --git a/win32/config.vc b/win32/config.vc
index 50d2a92605..cfac6e7ca2 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -156,6 +156,14 @@ d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
+d_double_has_inf='define'
+d_double_has_nan='define'
+d_double_has_negative_zero='define'
+d_double_has_subnormals='define'
+d_double_style_cray='undef'
+d_double_style_ibm='undef'
+d_double_style_ieee='define'
+d_double_style_vax='undef'
d_drand48_r='undef'
d_drand48proto='undef'
d_dup2='define'
@@ -333,6 +341,11 @@ d_lockf='undef'
d_log1p='undef'
d_log2='undef'
d_logb='undef'
+d_long_double_style_ieee='undef'
+d_long_double_style_ieee_doubledouble='undef'
+d_long_double_style_ieee_extended='define'
+d_long_double_style_ieee_std='undef'
+d_long_double_style_vax='undef'
d_longdbl='define'
d_longlong='undef'
d_lrint='undef'
diff --git a/win32/config_H.ce b/win32/config_H.ce
index e755bc1312..f1434899bd 100644
--- a/win32/config_H.ce
+++ b/win32/config_H.ce
@@ -2672,6 +2672,32 @@
*/
#define DOUBLESIZE 8 /**/
+/* DOUBLE_STYLE_IEEE
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit IEEE 754.
+ */
+/* DOUBLE_HAS_INF
+ * This symbol, if defined, indicates that the double has
+ * the infinity.
+ */
+/* DOUBLE_HAS_NAN
+ * This symbol, if defined, indicates that the double has
+ * the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO
+ * This symbol, if defined, indicates that the double has
+ * the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS
+ * This symbol, if defined, indicates that the double has
+ * the subnormals (denormals).
+ */
+#define DOUBLE_STYLE_IEEE
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+
/* DOUBLEINFBYTES:
* This symbol, if defined, is a comma-separated list of
* hexadecimal bytes for the double precision infinity.
diff --git a/win32/config_H.gc b/win32/config_H.gc
index 2254974a27..591e72d5a1 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -2639,6 +2639,32 @@
*/
#define DOUBLESIZE 8 /**/
+/* DOUBLE_STYLE_IEEE
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit IEEE 754.
+ */
+/* DOUBLE_HAS_INF
+ * This symbol, if defined, indicates that the double has
+ * the infinity.
+ */
+/* DOUBLE_HAS_NAN
+ * This symbol, if defined, indicates that the double has
+ * the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO
+ * This symbol, if defined, indicates that the double has
+ * the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS
+ * This symbol, if defined, indicates that the double has
+ * the subnormals (denormals).
+ */
+#define DOUBLE_STYLE_IEEE
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+
/* DOUBLEINFBYTES:
* This symbol, if defined, is a comma-separated list of
* hexadecimal bytes for the double precision infinity.
@@ -2679,6 +2705,21 @@
*/
#define LONGDBLMANTBITS 64
+/* LONG_DOUBLE_STYLE_IEEE
+ * This symbol, if defined, indicates that the long double
+ * is any of the IEEE 754 style long doubles:
+ * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED
+ * This symbol, if defined, indicates that the long double is
+ * the 80-bit IEEE 754. Note that despite the 'extended' this
+ * is less than the 'std', since this is an extension of
+ * the double precision.
+ */
+#define LONG_DOUBLE_STYLE_IEEE
+#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
+
/* EBCDIC:
* This symbol, if defined, indicates that this system uses
* EBCDIC encoding.
diff --git a/win32/config_H.vc b/win32/config_H.vc
index 3d17f639ea..b87c58e874 100644
--- a/win32/config_H.vc
+++ b/win32/config_H.vc
@@ -2631,6 +2631,32 @@
*/
#define DOUBLESIZE 8 /**/
+/* DOUBLE_STYLE_IEEE
+ * This symbol, if defined, indicates that the double is
+ * the 64-bit IEEE 754.
+ */
+/* DOUBLE_HAS_INF
+ * This symbol, if defined, indicates that the double has
+ * the infinity.
+ */
+/* DOUBLE_HAS_NAN
+ * This symbol, if defined, indicates that the double has
+ * the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO
+ * This symbol, if defined, indicates that the double has
+ * the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS
+ * This symbol, if defined, indicates that the double has
+ * the subnormals (denormals).
+ */
+#define DOUBLE_STYLE_IEEE
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+
/* DOUBLEINFBYTES:
* This symbol, if defined, is a comma-separated list of
* hexadecimal bytes for the double precision infinity.
@@ -2671,6 +2697,21 @@
*/
#define LONGDBLMANTBITS 52
+/* LONG_DOUBLE_STYLE_IEEE
+ * This symbol, if defined, indicates that the long double
+ * is any of the IEEE 754 style long doubles:
+ * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED
+ * This symbol, if defined, indicates that the long double is
+ * the 80-bit IEEE 754. Note that despite the 'extended' this
+ * is less than the 'std', since this is an extension of
+ * the double precision.
+ */
+#define LONG_DOUBLE_STYLE_IEEE
+#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
+
/* EBCDIC:
* This symbol, if defined, indicates that this system uses
* EBCDIC encoding.