34 lines
1.5 KiB
Diff
34 lines
1.5 KiB
Diff
|
# HG changeset patch
|
||
|
# User Mike Hommey <mh+mozilla@glandium.org>
|
||
|
# Date 1337607752 -7200
|
||
|
# Node ID 93093285af6065c441a806e97ca8f79225a158c6
|
||
|
# Parent 87c452c6444eecd226a30458e735d0cfaad714fd
|
||
|
Bug 750620 - Declare double conversion correctness for more architectures
|
||
|
|
||
|
diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
|
||
|
--- a/mfbt/double-conversion/utils.h
|
||
|
+++ b/mfbt/double-conversion/utils.h
|
||
|
@@ -48,17 +48,21 @@
|
||
|
// An easy way to test if the floating-point operations are correct is to
|
||
|
// evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then
|
||
|
// the result is equal to 89255e-22.
|
||
|
// The best way to test this, is to create a division-function and to compare
|
||
|
// the output of the division with the expected result. (Inlining must be
|
||
|
// disabled.)
|
||
|
// On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
|
||
|
#if defined(_M_X64) || defined(__x86_64__) || \
|
||
|
- defined(__ARMEL__) || \
|
||
|
+ defined(__ARMEL__) || defined(__avr32__) || \
|
||
|
+ defined(__hppa__) || defined(__ia64__) || \
|
||
|
+ defined(__mips__) || defined(__powerpc__) || \
|
||
|
+ defined(__sparc__) || defined(__s390__) || \
|
||
|
+ defined(__SH4__) || defined(__alpha__) || \
|
||
|
defined(_MIPS_ARCH_MIPS32R2)
|
||
|
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||
|
#elif defined(_M_IX86) || defined(__i386__)
|
||
|
#if defined(_WIN32)
|
||
|
// Windows uses a 64bit wide floating point stack.
|
||
|
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||
|
#else
|
||
|
#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
|