gdtoa: fix endianness issue on powerpc64le

The current code assumes running on big-endian, which causes issues with
e.g. strtod() as reported on https://github.com/ocaml/ocaml/pull/10837#issuecomment-1605346422
This is probably a leftover from when powerpc64le was introduced.

Approved by:	jhibbits (on IRC)
This commit is contained in:
Piotr Kubaj 2023-06-29 01:41:56 +02:00
parent 7b5e687355
commit fd774e065c

View file

@ -8,6 +8,19 @@
*/
#define f_QNAN 0x7fc00000
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define d_QNAN0 0x0
#define d_QNAN1 0x7ff80000
#define ld_QNAN0 0x0
#define ld_QNAN1 0x7ff80000
#define ld_QNAN2 0x0
#define ld_QNAN3 0x0
#define ldus_QNAN0 0x0
#define ldus_QNAN1 0x0
#define ldus_QNAN2 0x0
#define ldus_QNAN3 0x7ff8
#define ldus_QNAN4 0x0
#else
#define d_QNAN0 0x7ff80000
#define d_QNAN1 0x0
#define ld_QNAN0 0x7ff80000
@ -19,3 +32,4 @@
#define ldus_QNAN2 0x0
#define ldus_QNAN3 0x0
#define ldus_QNAN4 0x0
#endif