diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-28 20:07:28 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-28 20:16:52 -0800 |
commit | d8f258e8e74b17d06ee7d94fc7c4dd3165819f0d (patch) | |
tree | 16c6706992f27a2e86fc9c112838aa168d2b637f /src/emscripten-optimizer/optimizer-shared.cpp | |
parent | 37b7e93a71e1a51fcb826cb2bce88f47bd396674 (diff) | |
download | binaryen-d8f258e8e74b17d06ee7d94fc7c4dd3165819f0d.tar.gz binaryen-d8f258e8e74b17d06ee7d94fc7c4dd3165819f0d.tar.bz2 binaryen-d8f258e8e74b17d06ee7d94fc7c4dd3165819f0d.zip |
be very careful when converting doubles to ints in asm2wasm
Diffstat (limited to 'src/emscripten-optimizer/optimizer-shared.cpp')
-rw-r--r-- | src/emscripten-optimizer/optimizer-shared.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/emscripten-optimizer/optimizer-shared.cpp b/src/emscripten-optimizer/optimizer-shared.cpp index 24c19cd79..6a8bbf9b5 100644 --- a/src/emscripten-optimizer/optimizer-shared.cpp +++ b/src/emscripten-optimizer/optimizer-shared.cpp @@ -19,6 +19,12 @@ bool isInteger32(double x) { return isInteger(x) && (x == (int32_t)x || x == (uint32_t)x); } +int32_t toInteger32(double x) { + if (x == (int32_t)x) return (int32_t)x; + assert(x == (uint32_t)x); + return (uint32_t)x; +} + int parseInt(const char *str) { int ret = *str - '0'; while (*(++str)) { |