summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-08 15:16:29 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-08 15:16:29 -0800
commitca0dc47b386a74e0493be77cfcbdcd7cd2fff61f (patch)
tree268eaf6dcf65a9780c7919215678691c49701c41 /src
parent93559fcddc5cf02074189f6bad391c632a423e32 (diff)
downloadbinaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.tar.gz
binaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.tar.bz2
binaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.zip
fix negative nans
Diffstat (limited to 'src')
-rw-r--r--src/wasm-s-parser.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index 005fa5b64..4f1cd09c7 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -720,7 +720,7 @@ private:
std::istringstream istr(positive+4);
istr >> std::hex >> u.pattern;
u.pattern |= 0x7f800000;
- if (negative) u.pattern |= -1;
+ if (negative) u.pattern |= 0x80000000;
if (!isnan(u.f)) u.pattern |= 1;
assert(isnan(u.f));
ret->value.f32 = u.f;
@@ -734,7 +734,7 @@ private:
std::istringstream istr(positive+4);
istr >> std::hex >> u.pattern;
u.pattern |= 0x7ff0000000000000LL;
- if (negative) u.pattern |= -1LL;
+ if (negative) u.pattern |= 0x8000000000000000LL;
if (!isnan(u.d)) u.pattern |= 1;
assert(isnan(u.d));
ret->value.f64 = u.d;