diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-08-01 08:06:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-01 08:06:04 -0700 |
commit | 5a07a930ad51003411b2bc827ea9bf08728ecc5a (patch) | |
tree | 7a599caa2977464e4b056c59457d17c4d7e1bd91 /src/ast/literal-utils.h | |
parent | 76751bf1f9df4eb2ee6c216744af9ed1e097132e (diff) | |
parent | 44154e3d0895e2f5688861f0bc8d62af71ee6b6d (diff) | |
download | binaryen-5a07a930ad51003411b2bc827ea9bf08728ecc5a.tar.gz binaryen-5a07a930ad51003411b2bc827ea9bf08728ecc5a.tar.bz2 binaryen-5a07a930ad51003411b2bc827ea9bf08728ecc5a.zip |
Merge pull request #1116 from WebAssembly/fuzz
Fuzz fixes
Diffstat (limited to 'src/ast/literal-utils.h')
-rw-r--r-- | src/ast/literal-utils.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/ast/literal-utils.h b/src/ast/literal-utils.h index 7e75e8bc8..afa8146b9 100644 --- a/src/ast/literal-utils.h +++ b/src/ast/literal-utils.h @@ -23,21 +23,31 @@ namespace wasm { namespace LiteralUtils { -inline Expression* makeZero(WasmType type, Module& wasm) { - Literal value; +inline Literal makeLiteralFromInt32(int32_t x, WasmType type) { switch (type) { - case i32: value = Literal(int32_t(0)); break; - case i64: value = Literal(int64_t(0)); break; - case f32: value = Literal(float(0)); break; - case f64: value = Literal(double(0)); break; + case i32: return Literal(int32_t(x)); break; + case i64: return Literal(int64_t(x)); break; + case f32: return Literal(float(x)); break; + case f64: return Literal(double(x)); break; default: WASM_UNREACHABLE(); } +} + +inline Literal makeLiteralZero(WasmType type) { + return makeLiteralFromInt32(0, type); +} + +inline Expression* makeFromInt32(int32_t x, WasmType type, Module& wasm) { auto* ret = wasm.allocator.alloc<Const>(); - ret->value = value; - ret->type = value.type; + ret->value = makeLiteralFromInt32(x, type); + ret->type = type; return ret; } +inline Expression* makeZero(WasmType type, Module& wasm) { + return makeFromInt32(0, type, wasm); +} + } // namespace LiteralUtils } // namespace wasm |