diff options
author | Keith Winstein <keithw@cs.stanford.edu> | 2022-11-04 14:15:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-04 21:15:58 +0000 |
commit | d29a3485b0646912f8d73cfac6b289ba05ac64e5 (patch) | |
tree | 35620e9e6531f1eb43f5ba5bb7469eee4908454e | |
parent | 2e6d45078b6e5e9ab1f1117b3e1607da3addb7f4 (diff) | |
download | wabt-d29a3485b0646912f8d73cfac6b289ba05ac64e5.tar.gz wabt-d29a3485b0646912f8d73cfac6b289ba05ac64e5.tar.bz2 wabt-d29a3485b0646912f8d73cfac6b289ba05ac64e5.zip |
BinaryReaderIR: fix mis-binding of tags with debug name (#2040)
Fixes #2039
-rw-r--r-- | src/binary-reader-ir.cc | 2 | ||||
-rw-r--r-- | test/regress/regress-2039.txt | 6 | ||||
-rwxr-xr-x | test/run-spec-wasm2c.py | 4 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc index 3f64157d..e03453a2 100644 --- a/src/binary-reader-ir.cc +++ b/src/binary-reader-ir.cc @@ -1495,7 +1495,7 @@ Result BinaryReaderIR::SetTagName(Index index, std::string_view name) { std::string dollar_name = GetUniqueName(&module_->tag_bindings, MakeDollarName(name)); tag->name = dollar_name; - module_->global_bindings.emplace(dollar_name, Binding(index)); + module_->tag_bindings.emplace(dollar_name, Binding(index)); return Result::Ok; } diff --git a/test/regress/regress-2039.txt b/test/regress/regress-2039.txt new file mode 100644 index 00000000..8a1fb773 --- /dev/null +++ b/test/regress/regress-2039.txt @@ -0,0 +1,6 @@ +;;; TOOL: run-spec-wasm2c +;;; ARGS: --debug-names --enable-exceptions +(module (tag $t (export "tag"))) +(;; STDOUT ;;; +0/0 tests passed. +;;; STDOUT ;;) diff --git a/test/run-spec-wasm2c.py b/test/run-spec-wasm2c.py index 68ae6ff8..dd98304e 100755 --- a/test/run-spec-wasm2c.py +++ b/test/run-spec-wasm2c.py @@ -463,6 +463,7 @@ def main(args): parser.add_argument('--enable-multi-memory', action='store_true') parser.add_argument('--disable-bulk-memory', action='store_true') parser.add_argument('--disable-reference-types', action='store_true') + parser.add_argument('--debug-names', action='store_true') options = parser.parse_args(args) with utils.TempDirectory(options.out_dir, 'run-spec-wasm2c-') as out_dir: @@ -476,7 +477,8 @@ def main(args): '--enable-exceptions': options.enable_exceptions, '--enable-multi-memory': options.enable_multi_memory, '--disable-bulk-memory': options.disable_bulk_memory, - '--disable-reference-types': options.disable_reference_types}) + '--disable-reference-types': options.disable_reference_types, + '--debug-names': options.debug_names}) json_file_path = utils.ChangeDir( utils.ChangeExt(options.file, '.json'), out_dir) |