summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Winstein <208955+keithw@users.noreply.github.com>2024-11-06 19:37:12 -0800
committerGitHub <noreply@github.com>2024-11-07 03:37:12 +0000
commitc1d97e9c75c687faa81fe0ab4f1ac77c30487f47 (patch)
treea5d94c4817d0f1fc927a4af821c1ce32c0eb310b
parent81d6ac4a5d43c8329639bb88fc39f3ca6424896a (diff)
downloadwabt-c1d97e9c75c687faa81fe0ab4f1ac77c30487f47.tar.gz
wabt-c1d97e9c75c687faa81fe0ab4f1ac77c30487f47.tar.bz2
wabt-c1d97e9c75c687faa81fe0ab4f1ac77c30487f47.zip
wat-writer.cc: update text serialization of data memuse (#2501)
-rw-r--r--src/wat-writer.cc6
-rw-r--r--test/regress/write-memuse.txt4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index 88ff60ba..b458eca1 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -1504,7 +1504,11 @@ void WatWriter::WriteDataSegment(const DataSegment& segment) {
WriteOpenSpace("data");
WriteNameOrIndex(segment.name, data_segment_index_, NextChar::Space);
if (segment.kind != SegmentKind::Passive) {
- WriteMemoryVarUnlessZero(segment.memory_var, NextChar::Space);
+ if (module.GetMemoryIndex(segment.memory_var) != 0) {
+ WriteOpenSpace("memory");
+ WriteVar(segment.memory_var, NextChar::Space);
+ WriteCloseSpace();
+ }
WriteInitExpr(segment.offset);
}
WriteQuotedData(segment.data.data(), segment.data.size());
diff --git a/test/regress/write-memuse.txt b/test/regress/write-memuse.txt
new file mode 100644
index 00000000..5217cfec
--- /dev/null
+++ b/test/regress/write-memuse.txt
@@ -0,0 +1,4 @@
+;;; TOOL: run-roundtrip
+;;; ARGS*: --enable-multi-memory --debug-names
+(memory 0)
+(memory $k (data))