summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gtest/wat-lexer.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/test/gtest/wat-lexer.cpp b/test/gtest/wat-lexer.cpp
index 0820f4561..3e941a7f6 100644
--- a/test/gtest/wat-lexer.cpp
+++ b/test/gtest/wat-lexer.cpp
@@ -1094,53 +1094,55 @@ TEST(LexerTest, LexInfinity) {
}
TEST(LexerTest, LexNan) {
+ const double posNan = std::copysign(NAN, 1.0);
+ const double negNan = std::copysign(NAN, -1.0);
{
Lexer lexer("nan"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"nan"sv, FloatTok{{}, NAN}};
+ Token expected{"nan"sv, FloatTok{{}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("+nan"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"+nan"sv, FloatTok{{}, NAN}};
+ Token expected{"+nan"sv, FloatTok{{}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("-nan"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"-nan"sv, FloatTok{{}, -NAN}};
+ Token expected{"-nan"sv, FloatTok{{}, negNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("nan:0x01"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"nan:0x01"sv, FloatTok{{1}, NAN}};
+ Token expected{"nan:0x01"sv, FloatTok{{1}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("+nan:0x01"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"+nan:0x01"sv, FloatTok{{1}, NAN}};
+ Token expected{"+nan:0x01"sv, FloatTok{{1}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("-nan:0x01"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"-nan:0x01"sv, FloatTok{{1}, -NAN}};
+ Token expected{"-nan:0x01"sv, FloatTok{{1}, negNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("nan:0x1234"sv);
ASSERT_FALSE(lexer.empty());
- Token expected{"nan:0x1234"sv, FloatTok{{0x1234}, NAN}};
+ Token expected{"nan:0x1234"sv, FloatTok{{0x1234}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{
Lexer lexer("nan:0xf_ffff_ffff_ffff"sv);
ASSERT_FALSE(lexer.empty());
Token expected{"nan:0xf_ffff_ffff_ffff"sv,
- FloatTok{{0xfffffffffffff}, NAN}};
+ FloatTok{{0xfffffffffffff}, posNan}};
EXPECT_EQ(*lexer, expected);
}
{