aboutsummaryrefslogtreecommitdiff
path: root/libquadmath/printf/gmp-impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'libquadmath/printf/gmp-impl.h')
-rw-r--r--libquadmath/printf/gmp-impl.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/libquadmath/printf/gmp-impl.h b/libquadmath/printf/gmp-impl.h
index 94d88ef..c5c9c8e 100644
--- a/libquadmath/printf/gmp-impl.h
+++ b/libquadmath/printf/gmp-impl.h
@@ -33,10 +33,18 @@ MA 02111-1307, USA. */
#define MAX(h,i) ((h) > (i) ? (h) : (i))
#endif
+#if __SIZEOF_LONG__ == 4 && __SIZEOF_LONG_LONG__ == 8 \
+ && __SIZEOF_POINTER__ == 8
+/* Use 64-bit limbs on LLP64 targets. */
+#define BITS_PER_MP_LIMB (__SIZEOF_LONG_LONG__ * __CHAR_BIT__)
+typedef unsigned long long int mp_limb_t;
+typedef long long int mp_limb_signed_t;
+#else
#define BITS_PER_MP_LIMB (__SIZEOF_LONG__ * __CHAR_BIT__)
-#define BYTES_PER_MP_LIMB (BITS_PER_MP_LIMB / __CHAR_BIT__)
typedef unsigned long int mp_limb_t;
typedef long int mp_limb_signed_t;
+#endif
+#define BYTES_PER_MP_LIMB (BITS_PER_MP_LIMB / __CHAR_BIT__)
typedef mp_limb_t * mp_ptr;
typedef const mp_limb_t * mp_srcptr;