summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2015-06-13 11:40:00 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2015-06-13 12:30:46 -0400
commita7ab4d96b409cf5089ac6cbbaf84278f1e0e80ad (patch)
tree8a2ae52b27a75bb91bef4258cf4cb888591d4e73 /perl.h
parent35c0561a7bae0fd58527c372c899da0d87f75d37 (diff)
downloadperl-a7ab4d96b409cf5089ac6cbbaf84278f1e0e80ad.tar.gz
Apparently ldblsize=10 is a real thing.
(also fix an error in an #error)
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/perl.h b/perl.h
index 2867c7a452..5c2607d6f2 100644
--- a/perl.h
+++ b/perl.h
@@ -6859,7 +6859,13 @@ extern void moncontrol(int);
# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE
# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE
# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
-# if LONG_DOUBLESIZE == 12
+# if LONG_DOUBLESIZE == 10
+# define NV_NAN_PAYLOAD_MASK \
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \
+ 0x00, 0x00
+# define NV_NAN_PAYLOAD_PERM \
+ NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF
+# elif LONG_DOUBLESIZE == 12
# define NV_NAN_PAYLOAD_MASK \
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \
0x00, 0x00, 0x00, 0x00
@@ -6876,7 +6882,13 @@ extern void moncontrol(int);
# error "Unexpected x86 80-bit little-endian long double format"
# endif
# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
-# if LONG_DOUBLESIZE == 12
+# if LONG_DOUBLESIZE == 10
+# define NV_NAN_PAYLOAD_MASK \
+ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \
+ 0xff, 0xff
+# define NV_NAN_PAYLOAD_PERM \
+ NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF
+# elif LONG_DOUBLESIZE == 12
# define NV_NAN_PAYLOAD_MASK \
0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \
0xff, 0xff, 0x00, 0x00
@@ -6890,7 +6902,7 @@ extern void moncontrol(int);
NV_NAN_PAYLOAD_PERM_7_TO_0, \
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
# else
-# error "Unexpected x86 80-bit little-endian long double format"
+# error "Unexpected x86 80-bit big-endian long double format"
# endif
# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
/* For double-double we assume only the first double is used for NaN. */