summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/pyport.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/Include/pyport.h b/Include/pyport.h
index ed43569..9b8b1e7 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -506,8 +506,10 @@ extern "C" {
#define PY_NO_SHORT_FLOAT_REPR
#endif
-/* double rounding is symptomatic of use of extended precision on x86 */
-#ifdef X87_DOUBLE_ROUNDING
+/* double rounding is symptomatic of use of extended precision on x86. If
+ we're seeing double rounding, and we don't have any mechanism available for
+ changing the FPU rounding precision, then don't use Python/dtoa.c. */
+#if defined(X87_DOUBLE_ROUNDING) && !defined(HAVE_GCC_ASM_FOR_X87)
#define PY_NO_SHORT_FLOAT_REPR
#endif