diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-04-05 14:47:30 +0200 |
|---|---|---|
| committer | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-04-05 14:47:30 +0200 |
| commit | 843467bb8f76b5fbb1546f7f0216422031ab9860 (patch) | |
| tree | 01207730ae51ad8b379eeb4395cb529809a075d1 /src/exact_value.cpp | |
| parent | f796b67a67bdd316ecf830b13cbd43fed7c0a64b (diff) | |
Fix #5004
Fixes constant NaN to constant NaN comparisons.
Diffstat (limited to 'src/exact_value.cpp')
| -rw-r--r-- | src/exact_value.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp index ceaed84c1..f4439688c 100644 --- a/src/exact_value.cpp +++ b/src/exact_value.cpp @@ -954,6 +954,10 @@ gb_internal bool compare_exact_values(TokenKind op, ExactValue x, ExactValue y) case ExactValue_Float: { f64 a = x.value_float; f64 b = y.value_float; + if (isnan(a) || isnan(b)) { + return false; // Fixes #5004 + } + switch (op) { case Token_CmpEq: return cmp_f64(a, b) == 0; case Token_NotEq: return cmp_f64(a, b) != 0; |