diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-27 16:39:05 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-27 18:45:24 -0800 |
commit | e7461ed17e5f0cc9e49ada34b0fb340dce8e9b49 (patch) | |
tree | 49a5810350437931c48612107f9f0694e4b2bc51 /src/binaryen-shell.cpp | |
parent | 26842a8da165276fd9f38dc4bab2267269c237a0 (diff) | |
download | binaryen-e7461ed17e5f0cc9e49ada34b0fb340dce8e9b49.tar.gz binaryen-e7461ed17e5f0cc9e49ada34b0fb340dce8e9b49.tar.bz2 binaryen-e7461ed17e5f0cc9e49ada34b0fb340dce8e9b49.zip |
unify convert/compare into unary/binary, and do a pre-pass in s-expression parser for function types, to fix new assertions that notice some missing types
Diffstat (limited to 'src/binaryen-shell.cpp')
-rw-r--r-- | src/binaryen-shell.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/binaryen-shell.cpp b/src/binaryen-shell.cpp index 9c1a05447..b2ba51544 100644 --- a/src/binaryen-shell.cpp +++ b/src/binaryen-shell.cpp @@ -105,8 +105,9 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface { } break; } - case f32: *((float*)(memory+addr)) = value.getf32(); break; - case f64: *((double*)(memory+addr)) = value.getf64(); break; + // write floats carefully, ensuring all bits reach memory + case f32: *((int32_t*)(memory+addr)) = value.reinterpreti32(); break; + case f64: *((int64_t*)(memory+addr)) = value.reinterpreti64(); break; default: abort(); } } |