diff options
59 files changed, 182 insertions, 96 deletions
diff --git a/src/command-line.h b/src/command-line.h new file mode 100644 index 000000000..77c10d3e7 --- /dev/null +++ b/src/command-line.h @@ -0,0 +1,72 @@ +/* + * Copyright 2015 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// Command line helpers. +// + +#include "wasm.h" + +namespace wasm { + +struct Options { + bool debug; + std::string infile; + std::string outfile; + Options() : debug(false) {} +}; + +bool optionIs(const char *arg, const char *LongOpt, const char *ShortOpt) { + return strcmp(arg, LongOpt) == 0 || strcmp(arg, ShortOpt) == 0; +} + +// TODO(jfb) Make this configurable: callers should pass in option handlers. +void processCommandLine(int argc, const char *argv[], Options *options) { + for (size_t i = 1; i != argc; ++i) { + if (optionIs(argv[i], "--help", "-h")) { + std::cerr << "s2wasm INFILE\n\n" + "Link .s file into .wast\n\n" + "Optional arguments:\n" + " -n, --help Show this help message and exit\n" + " -d, --debug Print debug information to stderr\n" + " -o, --output Output file (stdout if not specified)\n" + << std::endl; + exit(EXIT_SUCCESS); + } else if (optionIs(argv[i], "--debug", "-d")) { + options->debug = true; + } else if (optionIs(argv[i], "--output", "-o")) { + if (i + 1 == argc) { + std::cerr << "No output file" << std::endl; + exit(EXIT_FAILURE); + } + if (options->outfile.size()) { + std::cerr << "Expected only one output file, got '" << options->outfile + << "' and '" << argv[i] << "'" << std::endl; + exit(EXIT_FAILURE); + } + options->outfile = argv[++i]; + } else { + if (options->infile.size()) { + std::cerr << "Expected only one input file, got '" << options->infile + << "' and '" << argv[i] << "'" << std::endl; + exit(EXIT_FAILURE); + } + options->infile = argv[i]; + } + } +} + +} // namespace wasm diff --git a/src/s2wasm-main.cpp b/src/s2wasm-main.cpp index 247974fee..cb60d2a57 100644 --- a/src/s2wasm-main.cpp +++ b/src/s2wasm-main.cpp @@ -18,46 +18,58 @@ // wasm2asm console tool // +#include "command-line.h" #include "s2wasm.h" using namespace cashew; using namespace wasm; -namespace wasm { -int debug = 0; -} +int main(int argc, const char *argv[]) { + Options options; + processCommandLine(argc, argv, &options); + + std::string input; + { + if (options.debug) { + std::cerr << "Loading '" << options.infile << "'..." << std::endl; + } + std::ifstream infile(options.infile); + if (!infile.is_open()) { + std::cerr << "Failed opening '" << options.infile << "'" << std::endl; + exit(EXIT_FAILURE); + } + infile.seekg(0, std::ios::end); + size_t insize = infile.tellg(); + input.resize(insize + 1); + infile.seekg(0); + infile.read(&input[0], insize); + } + + std::streambuf *buffer; + std::ofstream outfile; + if (options.outfile.size()) { + if (options.debug) std::cerr << "Opening '" << options.outfile << std::endl; + outfile.open(options.outfile, std::ofstream::out | std::ofstream::trunc); + if (!outfile.is_open()) { + std::cerr << "Failed opening '" << options.outfile << "'" << std::endl; + exit(EXIT_FAILURE); + } + buffer = outfile.rdbuf(); + } else { + buffer = std::cout.rdbuf(); + } + std::ostream out(buffer); -int main(int argc, char **argv) { - debug = getenv("S2WASM_DEBUG") ? getenv("S2WASM_DEBUG")[0] - '0' : 0; - - char *infile = argv[1]; - - if (debug) std::cerr << "loading '" << infile << "'...\n"; - FILE *f = fopen(argv[1], "r"); - assert(f); - fseek(f, 0, SEEK_END); - int size = ftell(f); - char *input = new char[size+1]; - rewind(f); - int num = fread(input, 1, size, f); - // On Windows, ftell() gives the byte position (\r\n counts as two bytes), but when - // reading, fread() returns the number of characters read (\r\n is read as one char \n, and counted as one), - // so return value of fread can be less than size reported by ftell, and that is normal. - assert((num > 0 || size == 0) && num <= size); - fclose(f); - input[num] = 0; - - if (debug) std::cerr << "parsing and wasming...\n"; + if (options.debug) std::cerr << "Parsing and wasming..." << std::endl; AllocatingModule wasm; - S2WasmBuilder s2wasm(wasm, input); + S2WasmBuilder s2wasm(wasm, input.c_str(), options.debug); - if (debug) std::cerr << "emscripten gluing...\n"; + if (options.debug) std::cerr << "Emscripten gluing..." << std::endl; std::stringstream meta; s2wasm.emscriptenGlue(meta); - if (debug) std::cerr << "printing...\n"; - std::cout << wasm; - std::cout << meta.str(); + if (options.debug) std::cerr << "Printing..." << std::endl; + out << wasm << meta.str() << std::endl; - if (debug) std::cerr << "done.\n"; + if (options.debug) std::cerr << "Done." << std::endl; } diff --git a/src/s2wasm.h b/src/s2wasm.h index fea5f04a8..5801f2620 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -24,8 +24,6 @@ namespace wasm { -extern int debug; // wasm::debug is set in main(), typically from an env var - cashew::IString EMSCRIPTEN_ASM_CONST("emscripten_asm_const"); // @@ -35,15 +33,17 @@ cashew::IString EMSCRIPTEN_ASM_CONST("emscripten_asm_const"); class S2WasmBuilder { AllocatingModule& wasm; MixedArena& allocator; - char *s; + const char *s; + bool debug; public: - S2WasmBuilder(AllocatingModule& wasm, char *input) : wasm(wasm), allocator(wasm.allocator) { - s = input; - scan(); - s = input; - process(); - fix(); + S2WasmBuilder(AllocatingModule& wasm, const char* input, bool debug) + : wasm(wasm), allocator(wasm.allocator), debug(debug) { + s = input; + scan(); + s = input; + process(); + fix(); } private: @@ -217,7 +217,7 @@ private: skipWhitespace(); if (*s != '$') return Name(); std::string str; - char *before = s; + const char *before = s; while (*s && *s != '=' && *s != '\n' && *s != ',') { str += *s; s++; @@ -393,7 +393,7 @@ private: }; auto getNumInputs = [&]() { int ret = 1; - char *t = s; + const char *t = s; while (*t != '\n') { if (*t == ',') ret++; t++; diff --git a/src/wasm.h b/src/wasm.h index d51b1ea4d..8583f9492 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -47,6 +47,8 @@ #include <cassert> #include <cstddef> #include <cstdint> +#include <cstring> +#include <fstream> #include <map> #include <vector> diff --git a/test/dot_s/alternate-lcomm.wast b/test/dot_s/alternate-lcomm.wast index ff458b577..0d3c48333 100644 --- a/test/dot_s/alternate-lcomm.wast +++ b/test/dot_s/alternate-lcomm.wast @@ -1,4 +1,4 @@ (module (memory 0 4294967295) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/asm_const.wast b/test/dot_s/asm_const.wast index d9d001f72..e800f8893 100644 --- a/test/dot_s/asm_const.wast +++ b/test/dot_s/asm_const.wast @@ -15,4 +15,4 @@ ) ) ) -;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world!\"); }", ["vi"]]} }
\ No newline at end of file +;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world!\"); }", ["vi"]]} } diff --git a/test/dot_s/basics.wast b/test/dot_s/basics.wast index 88adfaf58..7ac7ecc6e 100644 --- a/test/dot_s/basics.wast +++ b/test/dot_s/basics.wast @@ -92,4 +92,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/call.wast b/test/dot_s/call.wast index 913d2d68d..e7fa949cc 100644 --- a/test/dot_s/call.wast +++ b/test/dot_s/call.wast @@ -134,4 +134,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/cfg-stackify.wast b/test/dot_s/cfg-stackify.wast index 1c244c230..e170415cf 100644 --- a/test/dot_s/cfg-stackify.wast +++ b/test/dot_s/cfg-stackify.wast @@ -1150,4 +1150,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/comparisons_f32.wast b/test/dot_s/comparisons_f32.wast index bcb0ab5f4..83574f9b4 100644 --- a/test/dot_s/comparisons_f32.wast +++ b/test/dot_s/comparisons_f32.wast @@ -267,4 +267,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/comparisons_f64.wast b/test/dot_s/comparisons_f64.wast index 097eba008..ea85676da 100644 --- a/test/dot_s/comparisons_f64.wast +++ b/test/dot_s/comparisons_f64.wast @@ -267,4 +267,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/comparisons_i32.wast b/test/dot_s/comparisons_i32.wast index b648c1fef..c821cfad7 100644 --- a/test/dot_s/comparisons_i32.wast +++ b/test/dot_s/comparisons_i32.wast @@ -131,4 +131,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/comparisons_i64.wast b/test/dot_s/comparisons_i64.wast index 15374c6b4..16da05ef5 100644 --- a/test/dot_s/comparisons_i64.wast +++ b/test/dot_s/comparisons_i64.wast @@ -131,4 +131,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/conv.wast b/test/dot_s/conv.wast index 90a5cb8e8..d5933fd7e 100644 --- a/test/dot_s/conv.wast +++ b/test/dot_s/conv.wast @@ -316,4 +316,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/copysign-casts.wast b/test/dot_s/copysign-casts.wast index 1fbfe760a..31f6145b4 100644 --- a/test/dot_s/copysign-casts.wast +++ b/test/dot_s/copysign-casts.wast @@ -31,4 +31,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/cpus.wast b/test/dot_s/cpus.wast index 5c241966c..aed7f5870 100644 --- a/test/dot_s/cpus.wast +++ b/test/dot_s/cpus.wast @@ -11,4 +11,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/data-offset-folding.wast b/test/dot_s/data-offset-folding.wast index a5341932b..e0a60c70e 100644 --- a/test/dot_s/data-offset-folding.wast +++ b/test/dot_s/data-offset-folding.wast @@ -1,4 +1,4 @@ (module (memory 0 4294967295 (segment 2 "\00\00\00\00") (segment 408 "X\00\00\00")) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/dead-vreg.wast b/test/dot_s/dead-vreg.wast index c2872b352..ced7413ab 100644 --- a/test/dot_s/dead-vreg.wast +++ b/test/dot_s/dead-vreg.wast @@ -111,4 +111,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/exit.wast b/test/dot_s/exit.wast index 289673187..c0af5a734 100644 --- a/test/dot_s/exit.wast +++ b/test/dot_s/exit.wast @@ -11,4 +11,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/f32.wast b/test/dot_s/f32.wast index d8a951dcf..e9e9a649e 100644 --- a/test/dot_s/f32.wast +++ b/test/dot_s/f32.wast @@ -203,4 +203,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/f64.wast b/test/dot_s/f64.wast index 4b330c242..6541b20b8 100644 --- a/test/dot_s/f64.wast +++ b/test/dot_s/f64.wast @@ -203,4 +203,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/fast-isel.wast b/test/dot_s/fast-isel.wast index 31a81ed66..0981fbe79 100644 --- a/test/dot_s/fast-isel.wast +++ b/test/dot_s/fast-isel.wast @@ -21,4 +21,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/frem.wast b/test/dot_s/frem.wast index 9b89de191..6592622d0 100644 --- a/test/dot_s/frem.wast +++ b/test/dot_s/frem.wast @@ -29,4 +29,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/func.wast b/test/dot_s/func.wast index 01ff04a8f..0090df642 100644 --- a/test/dot_s/func.wast +++ b/test/dot_s/func.wast @@ -72,4 +72,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/global.wast b/test/dot_s/global.wast index 0b688eb89..255b35617 100644 --- a/test/dot_s/global.wast +++ b/test/dot_s/global.wast @@ -29,4 +29,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/globl.wast b/test/dot_s/globl.wast index 4e87e4669..874d99a2b 100644 --- a/test/dot_s/globl.wast +++ b/test/dot_s/globl.wast @@ -9,4 +9,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/i32.wast b/test/dot_s/i32.wast index 59e22d00f..6025fedd7 100644 --- a/test/dot_s/i32.wast +++ b/test/dot_s/i32.wast @@ -230,4 +230,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/i64.wast b/test/dot_s/i64.wast index 14c86d830..ace3135f3 100644 --- a/test/dot_s/i64.wast +++ b/test/dot_s/i64.wast @@ -230,4 +230,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/ident.wast b/test/dot_s/ident.wast index ff458b577..0d3c48333 100644 --- a/test/dot_s/ident.wast +++ b/test/dot_s/ident.wast @@ -1,4 +1,4 @@ (module (memory 0 4294967295) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/immediates.wast b/test/dot_s/immediates.wast index b77e3c13d..ce9b8520f 100644 --- a/test/dot_s/immediates.wast +++ b/test/dot_s/immediates.wast @@ -241,4 +241,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/lcomm-in-text-segment.wast b/test/dot_s/lcomm-in-text-segment.wast index ff458b577..0d3c48333 100644 --- a/test/dot_s/lcomm-in-text-segment.wast +++ b/test/dot_s/lcomm-in-text-segment.wast @@ -1,4 +1,4 @@ (module (memory 0 4294967295) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/legalize.wast b/test/dot_s/legalize.wast index d71f387ac..2fcc9aeac 100644 --- a/test/dot_s/legalize.wast +++ b/test/dot_s/legalize.wast @@ -3972,4 +3972,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/load-ext.wast b/test/dot_s/load-ext.wast index 58b6845ff..e569cfd33 100644 --- a/test/dot_s/load-ext.wast +++ b/test/dot_s/load-ext.wast @@ -121,4 +121,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/load-store-i1.wast b/test/dot_s/load-store-i1.wast index 9a453362f..644fe798b 100644 --- a/test/dot_s/load-store-i1.wast +++ b/test/dot_s/load-store-i1.wast @@ -99,4 +99,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/load.wast b/test/dot_s/load.wast index 8177bb15c..4d2071d41 100644 --- a/test/dot_s/load.wast +++ b/test/dot_s/load.wast @@ -49,4 +49,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/memops.wast b/test/dot_s/memops.wast index f0a3c5390..4f23804b7 100644 --- a/test/dot_s/memops.wast +++ b/test/dot_s/memops.wast @@ -219,4 +219,4 @@ ) ) ) -;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }", ["vi"]]} }
\ No newline at end of file +;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }", ["vi"]]} } diff --git a/test/dot_s/memory-addr32.wast b/test/dot_s/memory-addr32.wast index 475da10d6..bd182046b 100644 --- a/test/dot_s/memory-addr32.wast +++ b/test/dot_s/memory-addr32.wast @@ -20,4 +20,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/memory-addr64.wast b/test/dot_s/memory-addr64.wast index f20ad55a7..03a27c8ed 100644 --- a/test/dot_s/memory-addr64.wast +++ b/test/dot_s/memory-addr64.wast @@ -20,4 +20,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/minimal.wast b/test/dot_s/minimal.wast index 3db3bf1de..ef408ea14 100644 --- a/test/dot_s/minimal.wast +++ b/test/dot_s/minimal.wast @@ -11,4 +11,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/offset-folding.wast b/test/dot_s/offset-folding.wast index f53b26d9a..237efdeeb 100644 --- a/test/dot_s/offset-folding.wast +++ b/test/dot_s/offset-folding.wast @@ -41,4 +41,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/offset.wast b/test/dot_s/offset.wast index 7fafb078e..d8a1a4a7a 100644 --- a/test/dot_s/offset.wast +++ b/test/dot_s/offset.wast @@ -201,4 +201,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/permute.wast b/test/dot_s/permute.wast index 9e984ca19..e535422c9 100644 --- a/test/dot_s/permute.wast +++ b/test/dot_s/permute.wast @@ -1,4 +1,4 @@ (module (memory 0 4294967295 (segment 4 "hE?\8ds\0e7\db[g\8f\955it\c4k\0b\e2\ef\bcld\e0\fd\8c\9e\86&~\d8\94\89+\c8\a4\c2\f2\fb\12\1cej\d99\b7\b3W\c6w\af\ae\caM>\92ub\96\84\b6\b0N\ec;q\11\f7\bf\e31\e6\a7\90\fc\03\e4\aa\d7\cc- \15\83DH\80r\fa\01X\eb:_\00A\cd\e9o`n\ac(\ad\ba0\dcyS#\f4$\"\82\7f}\8e\f6\93L\'\bb\bdZ\ed4\18\f3\c0\cf\ff\a3\f8\07\05\9c\d3\0f\a0\06m%\\\f9^B<\e7\b1\17\98]\0c\dd\c5\f5p\e5\fezJ\ab,F\a5@\08R\85!\b8\1a\ce\d5\04\nI\a6\d1\9f\8a\c9\a9|\97\9aG\be8Y\8b\c1\1b\d4\ea\b9\19\14\9b\9163\d0\1d\d2\df=C\1f\0dc\e1\c7QUv\02\b5aK\b4\tV\c3x\e8\a1\1e\81\de/{\da\d6Pf\10T\f0)\88\16\ee\a8\9d\f1\cbO*\b2\99\132\87.\a2")) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/phi.wast b/test/dot_s/phi.wast index 72f094e85..e5690e69d 100644 --- a/test/dot_s/phi.wast +++ b/test/dot_s/phi.wast @@ -79,4 +79,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/reg-stackify.wast b/test/dot_s/reg-stackify.wast index c714fbb29..8306dfc8f 100644 --- a/test/dot_s/reg-stackify.wast +++ b/test/dot_s/reg-stackify.wast @@ -118,4 +118,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/relocation.wast b/test/dot_s/relocation.wast index 0b87203fb..2bddedb89 100644 --- a/test/dot_s/relocation.wast +++ b/test/dot_s/relocation.wast @@ -14,4 +14,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/return-int32.wast b/test/dot_s/return-int32.wast index 6bc521154..e9e4e8250 100644 --- a/test/dot_s/return-int32.wast +++ b/test/dot_s/return-int32.wast @@ -11,4 +11,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/return-void.wast b/test/dot_s/return-void.wast index 59f5aeb06..0f0c72a49 100644 --- a/test/dot_s/return-void.wast +++ b/test/dot_s/return-void.wast @@ -9,4 +9,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/returned.wast b/test/dot_s/returned.wast index 003b54e57..0d73621e3 100644 --- a/test/dot_s/returned.wast +++ b/test/dot_s/returned.wast @@ -32,4 +32,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/select.wast b/test/dot_s/select.wast index 54f788fcf..4877c7057 100644 --- a/test/dot_s/select.wast +++ b/test/dot_s/select.wast @@ -169,4 +169,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/signext-zeroext.wast b/test/dot_s/signext-zeroext.wast index 87140b506..f4c6ba47f 100644 --- a/test/dot_s/signext-zeroext.wast +++ b/test/dot_s/signext-zeroext.wast @@ -77,4 +77,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/store-results.wast b/test/dot_s/store-results.wast index 3359b2433..5f801cd3b 100644 --- a/test/dot_s/store-results.wast +++ b/test/dot_s/store-results.wast @@ -88,4 +88,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/store-trunc.wast b/test/dot_s/store-trunc.wast index 6700d0b73..07807cd19 100644 --- a/test/dot_s/store-trunc.wast +++ b/test/dot_s/store-trunc.wast @@ -61,4 +61,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/store.wast b/test/dot_s/store.wast index 23cb3541f..256b86fd1 100644 --- a/test/dot_s/store.wast +++ b/test/dot_s/store.wast @@ -49,4 +49,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/switch.wast b/test/dot_s/switch.wast index 29c46e0c4..ba55e42f3 100644 --- a/test/dot_s/switch.wast +++ b/test/dot_s/switch.wast @@ -97,4 +97,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/symbolic-offset.wast b/test/dot_s/symbolic-offset.wast index d28ceec85..5b4904529 100644 --- a/test/dot_s/symbolic-offset.wast +++ b/test/dot_s/symbolic-offset.wast @@ -13,4 +13,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/unreachable.wast b/test/dot_s/unreachable.wast index 1a51e8e09..ec31d0395 100644 --- a/test/dot_s/unreachable.wast +++ b/test/dot_s/unreachable.wast @@ -27,4 +27,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/unused-argument.wast b/test/dot_s/unused-argument.wast index 1f5418909..3d18cee7d 100644 --- a/test/dot_s/unused-argument.wast +++ b/test/dot_s/unused-argument.wast @@ -31,4 +31,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/varargs.wast b/test/dot_s/varargs.wast index 27e95ece7..f502d0d91 100644 --- a/test/dot_s/varargs.wast +++ b/test/dot_s/varargs.wast @@ -157,4 +157,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } diff --git a/test/dot_s/vtable.wast b/test/dot_s/vtable.wast index 9337d790a..0ad2840c6 100644 --- a/test/dot_s/vtable.wast +++ b/test/dot_s/vtable.wast @@ -104,4 +104,4 @@ ) ) ) -;; METADATA: { "asmConsts": {} }
\ No newline at end of file +;; METADATA: { "asmConsts": {} } |