blob: 179057598809c75c6cca3b25b9eee24d5fa9dd15 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# HG changeset patch
# User Nathan Froyd <froydnj@gmail.com>
# Date 1466820205 14400
# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f
# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af
Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke
The bug noted in ToInt32 doesn't just exist when compiling for
arm-darwin; it exists for ARM targets generally. The ifdef should
reflect that.
diff --git js/public/Conversions.h js/public/Conversions.h
--- js/public/Conversions.h
+++ js/public/Conversions.h
@@ -395,19 +395,19 @@ ToIntWidth(double d)
}
} // namespace detail
/* ES5 9.5 ToInt32 (specialized for doubles). */
inline int32_t
ToInt32(double d)
{
- // clang crashes compiling this when targeting arm-darwin:
+ // clang crashes compiling this when targeting arm:
// https://llvm.org/bugs/show_bug.cgi?id=22974
-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__)
+#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__)
int32_t i;
uint32_t tmp0;
uint32_t tmp1;
uint32_t tmp2;
asm (
// We use a pure integer solution here. In the 'softfp' ABI, the argument
// will start in r0 and r1, and VFP can't do all of the necessary ECMA
// conversions by itself so some integer code will be required anyway. A
|