
# 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

