summaryrefslogtreecommitdiff
path: root/mozilla-750620.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-750620.patch')
-rw-r--r--mozilla-750620.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/mozilla-750620.patch b/mozilla-750620.patch
new file mode 100644
index 0000000..c8c6d10
--- /dev/null
+++ b/mozilla-750620.patch
@@ -0,0 +1,33 @@
+# 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
bgstack15