From 001433992cf9ae1b4b4057cbe9d3e09cdd782e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Sinan=20A=C4=9Facan?= Date: Mon, 12 Dec 2022 17:09:00 +0000 Subject: [PATCH] [dart2wasm] Fix isNegative on NaN values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New passing tests: - co19/LibTest/core/double/isNegative_A01_t01 - corelib/nan_infinity_test/01 - corelib/nan_infinity_test/none - language/unsorted/intrinsified_methods_test Change-Id: I379525fe0da36d6fc365d275ded9370f2b5b4812 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274541 Reviewed-by: Aske Simon Christensen Commit-Queue: Ömer Ağacan --- sdk/lib/_internal/wasm/lib/double.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/lib/_internal/wasm/lib/double.dart b/sdk/lib/_internal/wasm/lib/double.dart index 4e592e6c445..31b8a9cd2c2 100644 --- a/sdk/lib/_internal/wasm/lib/double.dart +++ b/sdk/lib/_internal/wasm/lib/double.dart @@ -137,6 +137,9 @@ class _BoxedDouble extends double { bool operator <=(num other) => this <= other.toDouble(); // Intrinsic <= bool get isNegative { + if (isNaN) { + return false; + } int bits = doubleToIntBits(this); return (bits & _signMask) != 0; }