diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-05-12 17:18:55 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-05-12 17:18:55 -0700 |
commit | f518f097c80c0659fbacf11fe12f89955093282b (patch) | |
tree | d26db91c5767989b3f824a0bbcf30a02259fb656 /src/binaryen-shell.cpp | |
parent | d84fd5be60d4ead6bc9fbb3f27a710bef0c688c8 (diff) | |
parent | c8293a3f9112ad486f6f3639fc5680d73e7559ca (diff) | |
download | binaryen-f518f097c80c0659fbacf11fe12f89955093282b.tar.gz binaryen-f518f097c80c0659fbacf11fe12f89955093282b.tar.bz2 binaryen-f518f097c80c0659fbacf11fe12f89955093282b.zip |
Merge pull request #488 from WebAssembly/error_reporting
Better error reporting
Diffstat (limited to 'src/binaryen-shell.cpp')
-rw-r--r-- | src/binaryen-shell.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/binaryen-shell.cpp b/src/binaryen-shell.cpp index 8c0390d15..360b576c8 100644 --- a/src/binaryen-shell.cpp +++ b/src/binaryen-shell.cpp @@ -113,10 +113,7 @@ static void run_asserts(size_t* i, bool* checked, Module* wasm, std::unique_ptr<SExpressionWasmBuilder> builder; try { builder = std::unique_ptr<SExpressionWasmBuilder>( - new SExpressionWasmBuilder(wasm, *curr[1], [&]() { - invalid = true; - throw ParseException(); - }) + new SExpressionWasmBuilder(wasm, *curr[1]) ); } catch (const ParseException&) { invalid = true; @@ -214,8 +211,13 @@ int main(int argc, const char* argv[]) { if (id == MODULE) { if (options.debug) std::cerr << "parsing s-expressions to wasm...\n"; Module wasm; - std::unique_ptr<SExpressionWasmBuilder> builder( - new SExpressionWasmBuilder(wasm, *root[i], [&]() { abort(); })); + std::unique_ptr<SExpressionWasmBuilder> builder; + try { + builder = make_unique<SExpressionWasmBuilder>(wasm, *root[i]); + } catch (ParseException& p) { + p.dump(std::cerr); + abort(); + } i++; assert(WasmValidator().validate(wasm)); |