summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm.h4
-rw-r--r--test/dot_s/immediates.wast8
2 files changed, 8 insertions, 4 deletions
diff --git a/src/wasm.h b/src/wasm.h
index 399e58cfe..e3724c612 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -213,6 +213,10 @@ struct Literal {
o << "nan:" << std::hex << u.ll << std::dec;
return;
}
+ if (!std::isfinite(d)) {
+ o << (d < 0 ? "-infinity" : "infinity");
+ return;
+ }
const char *text = cashew::JSPrinter::numToString(d);
// spec interpreter hates floats starting with '.'
if (text[0] == '.') {
diff --git a/test/dot_s/immediates.wast b/test/dot_s/immediates.wast
index 257421fd9..74f819e3a 100644
--- a/test/dot_s/immediates.wast
+++ b/test/dot_s/immediates.wast
@@ -154,7 +154,7 @@
(block $fake_return_waka123
(block
(br $fake_return_waka123
- (f32.const inf)
+ (f32.const infinity)
)
)
)
@@ -163,7 +163,7 @@
(block $fake_return_waka123
(block
(br $fake_return_waka123
- (f32.const -inf)
+ (f32.const -infinity)
)
)
)
@@ -226,7 +226,7 @@
(block $fake_return_waka123
(block
(br $fake_return_waka123
- (f64.const inf)
+ (f64.const infinity)
)
)
)
@@ -235,7 +235,7 @@
(block $fake_return_waka123
(block
(br $fake_return_waka123
- (f64.const -inf)
+ (f64.const -infinity)
)
)
)