summaryrefslogtreecommitdiff
path: root/config_h.SH
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-08-10 19:46:12 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2014-08-13 22:20:16 -0400
commitdc91db6cfbf31ad1bbc0d43f7c74251f6411d2d2 (patch)
treeeae92263b65fc3449f1529b76b17e2ca1287ca4c /config_h.SH
parentf4ef132eeaba0ed558de187afbee10205ae09a38 (diff)
downloadperl-dc91db6cfbf31ad1bbc0d43f7c74251f6411d2d2.tar.gz
Configure scan for the kind of long double we have
(Somewhat like quadkind, but for the format of the long double)
Diffstat (limited to 'config_h.SH')
-rwxr-xr-xconfig_h.SH21
1 files changed, 21 insertions, 0 deletions
diff --git a/config_h.SH b/config_h.SH
index c565a6c1f6..ff7308e860 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -1935,9 +1935,30 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
* C preprocessor can make decisions based on it. It is only
* defined if the system supports long doubles.
*/
+/* LONG_DOUBLEKIND:
+ * LONG_DOUBLEKIND will be one of
+ * LONG_DOUBLE_IS_DOUBLE
+ * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ * 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_UNKNOWN_FORMAT
+ * It is only defined if the system supports long doubles.
+ */
#$d_longdbl HAS_LONG_DOUBLE /**/
#ifdef HAS_LONG_DOUBLE
#define LONG_DOUBLESIZE $longdblsize /**/
+#define LONG_DOUBLEKIND $longdblkind /**/
+#define LONG_DOUBLE_IS_DOUBLE 0
+#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1
+#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_UNKNOWN_FORMAT -1
#endif
/* HAS_LONG_LONG: