summaryrefslogtreecommitdiff
path: root/src/wasm-binary-writer-spec.c
diff options
context:
space:
mode:
authorBen Smith <binjimin@gmail.com>2016-07-18 16:34:12 -0700
committerGitHub <noreply@github.com>2016-07-18 16:34:12 -0700
commit73e5bc7dd4a4e5bc7fcb842a35b91ad587f80fcb (patch)
treef510be5fdeaaca527d76350e80643a9dc042e5e3 /src/wasm-binary-writer-spec.c
parentb487574ba29dd85c64be6aa1406b58084b14b8b4 (diff)
downloadwabt-73e5bc7dd4a4e5bc7fcb842a35b91ad587f80fcb.tar.gz
wabt-73e5bc7dd4a4e5bc7fcb842a35b91ad587f80fcb.tar.bz2
wabt-73e5bc7dd4a4e5bc7fcb842a35b91ad587f80fcb.zip
WasmFuncDeclaration does not always set `sig` (#93)
Prior to this change, the AST parser would always set `sig`, even if the function had no explicit signature (i.e. it used a function type variable instead). This is OK, but it makes the flag confusing. `WASM_FUNC_DECLARATION_FLAG_HAS_SIGNATURE` will be clear and `wasm_decl_has_signature` will return false, but `sig` will be valid. This change makes it so `sig` is only set when there is an explicit signature. The correct way to get the function signature is to call `wasm_decl_get_signature`, which will check whether there is a func type, and if not, will check for an explicit function signature.
Diffstat (limited to 'src/wasm-binary-writer-spec.c')
-rw-r--r--src/wasm-binary-writer-spec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wasm-binary-writer-spec.c b/src/wasm-binary-writer-spec.c
index 47b98a04..b5f749a3 100644
--- a/src/wasm-binary-writer-spec.c
+++ b/src/wasm-binary-writer-spec.c
@@ -309,7 +309,7 @@ static void write_commands(Context* ctx, WasmScript* script) {
int func_index = wasm_get_func_index_by_var(last_module, &export->var);
assert(func_index >= 0 && (size_t)func_index < last_module->funcs.size);
WasmFunc* callee = last_module->funcs.data[func_index];
- WasmType result_type = wasm_get_result_type(callee);
+ WasmType result_type = wasm_get_result_type(last_module, callee);
/* these pointers will be invalidated later, so we can't use them */
export = NULL;
callee = NULL;