diff options
author | Alon Zakai <azakai@google.com> | 2024-01-25 12:48:59 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-25 12:48:59 -0800 |
commit | 482f3aaf90167cb187ccbc6f1e32dcdb574e3f73 (patch) | |
tree | 14eca3191206d08a736636c7b1e38a11c682ce31 /src | |
parent | c0e688ed0963605e062dfb00d681602bd8dc96d2 (diff) | |
download | binaryen-482f3aaf90167cb187ccbc6f1e32dcdb574e3f73.tar.gz binaryen-482f3aaf90167cb187ccbc6f1e32dcdb574e3f73.tar.bz2 binaryen-482f3aaf90167cb187ccbc6f1e32dcdb574e3f73.zip |
wasm-ctor-eval: Eval strings (#6244)
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/wasm-ctor-eval.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/wasm-ctor-eval.cpp b/src/tools/wasm-ctor-eval.cpp index eb2a4eb5d..9aa41c04d 100644 --- a/src/tools/wasm-ctor-eval.cpp +++ b/src/tools/wasm-ctor-eval.cpp @@ -889,6 +889,12 @@ public: } else if (heapType.isArray()) { // TODO: for repeated identical values, can use ArrayNew init = builder.makeArrayNewFixed(heapType, args); + } else if (heapType.isString()) { + std::string s; + for (auto c : values) { + s += char(c.getInteger()); + } + init = builder.makeStringConst(s); } else { WASM_UNREACHABLE("bad gc type"); } |