summaryrefslogtreecommitdiff
path: root/mfbt/double-conversion/more-architectures.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mfbt/double-conversion/more-architectures.patch')
-rw-r--r--mfbt/double-conversion/more-architectures.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/mfbt/double-conversion/more-architectures.patch b/mfbt/double-conversion/more-architectures.patch
new file mode 100644
index 0000000..b8d3804
--- /dev/null
+++ b/mfbt/double-conversion/more-architectures.patch
@@ -0,0 +1,30 @@
+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,20 +48,24 @@
+ // 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(__sparc) || defined(__s390__) || \
++ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+-#elif defined(_M_IX86) || defined(__i386__)
++#elif defined(_M_IX86) || defined(__i386__) || 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
+ #endif // _WIN32
+ #else
+ #error Target architecture was not detected as supported by Double-Conversion.