diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 13:35:11 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-05 13:37:08 -0800 |
commit | 5f96c2d7b8cf685547f8d5f08d9979dad816ee4d (patch) | |
tree | 2ac5e2d0492b1b2ab83c27f72838e23821fd2bf7 /src | |
parent | cbfb617529f162889652548d5cbcc6232f9a02d0 (diff) | |
download | binaryen-5f96c2d7b8cf685547f8d5f08d9979dad816ee4d.tar.gz binaryen-5f96c2d7b8cf685547f8d5f08d9979dad816ee4d.tar.bz2 binaryen-5f96c2d7b8cf685547f8d5f08d9979dad816ee4d.zip |
parse denormals
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-s-parser.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 6e383e17e..96759b541 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -544,10 +544,8 @@ private: } } const char *str = s[1]->c_str(); - size_t size; switch (type) { case i32: { - const char *str = s[1]->c_str(); std::istringstream istr(str); int32_t temp; if (str[0] == '0' && str[1] == 'x') { @@ -561,7 +559,6 @@ private: break; } case i64: { - const char *str = s[1]->c_str(); std::istringstream istr(str); int64_t temp; if (str[0] == '0' && str[1] == 'x') { @@ -574,8 +571,16 @@ private: ret->value.i64 = temp; break; } - case f32: ret->value.f32 = std::stof(str, &size); break; - case f64: ret->value.f64 = std::stod(str, &size); break; + case f32: { + char *end; + ret->value.f32 = strtof(str, &end); + break; + } + case f64: { + char *end; + ret->value.f64 = strtod(str, &end); + break; + } default: onError(); } return ret; |