summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/s2wasm.h7
-rw-r--r--test/s2wasm_known_gcc_test_failures.txt1
2 files changed, 6 insertions, 2 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h
index 4e3ec23e5..b8ac6f139 100644
--- a/src/s2wasm.h
+++ b/src/s2wasm.h
@@ -905,8 +905,13 @@ private:
if (size <= 0) {
abort_on(".zero with zero or negative size");
}
+ unsigned char value = 0;
+ if (skipComma()) {
+ value = getInt();
+ if (value != 0) zero = false;
+ }
for (size_t i = 0, e = size; i < e; i++) {
- raw->push_back(0);
+ raw->push_back(value);
}
} else if (match(".int8")) {
size_t size = raw->size();
diff --git a/test/s2wasm_known_gcc_test_failures.txt b/test/s2wasm_known_gcc_test_failures.txt
index 614365cf3..c518ce240 100644
--- a/test/s2wasm_known_gcc_test_failures.txt
+++ b/test/s2wasm_known_gcc_test_failures.txt
@@ -2,7 +2,6 @@
# files.
# Unknown symbol (likely an external symbol).
-pr24716.c.s # $W
pr54937.c.s # $exit
# Unknown symbol ($abort, $stdout, $stderr).