diff options
Diffstat (limited to 'src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp')
-rw-r--r-- | src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp b/src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp index decf1a1569d..971cf006f8a 100644 --- a/src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp +++ b/src/third_party/mozjs/extract/js/src/jit/CacheIRCompiler.cpp @@ -6395,22 +6395,44 @@ bool CacheIRCompiler::emitCompareBigIntStringResult(JSOp op, break; } case JSOp::Lt: { +#ifndef _MSC_VER constexpr auto LessThan = ComparisonKind::LessThan; +#else + // The static_cast works around an internal compiler error in MSVC. + constexpr auto LessThan = static_cast<bool>(ComparisonKind::LessThan); +#endif callvm.call<FnBigIntString, BigIntStringCompare<LessThan>>(); break; } case JSOp::Gt: { +#ifndef _MSC_VER constexpr auto LessThan = ComparisonKind::LessThan; +#else + // The static_cast works around an internal compiler error in MSVC. + constexpr auto LessThan = static_cast<bool>(ComparisonKind::LessThan); +#endif callvm.call<FnStringBigInt, StringBigIntCompare<LessThan>>(); break; } case JSOp::Le: { +#ifndef _MSC_VER constexpr auto GreaterThanOrEqual = ComparisonKind::GreaterThanOrEqual; +#else + // The static_cast works around an internal compiler error in MSVC. + constexpr auto GreaterThanOrEqual = + static_cast<bool>(ComparisonKind::GreaterThanOrEqual); +#endif callvm.call<FnStringBigInt, StringBigIntCompare<GreaterThanOrEqual>>(); break; } case JSOp::Ge: { +#ifndef _MSC_VER constexpr auto GreaterThanOrEqual = ComparisonKind::GreaterThanOrEqual; +#else + // The static_cast works around an internal compiler error in MSVC. + constexpr auto GreaterThanOrEqual = + static_cast<bool>(ComparisonKind::GreaterThanOrEqual); +#endif callvm.call<FnBigIntString, BigIntStringCompare<GreaterThanOrEqual>>(); break; } |