diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-08 15:16:29 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-08 15:16:29 -0800 |
commit | ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f (patch) | |
tree | 268eaf6dcf65a9780c7919215678691c49701c41 /src | |
parent | 93559fcddc5cf02074189f6bad391c632a423e32 (diff) | |
download | binaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.tar.gz binaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.tar.bz2 binaryen-ca0dc47b386a74e0493be77cfcbdcd7cd2fff61f.zip |
fix negative nans
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-s-parser.h | 4 |
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; |