GIT revision: 356931a8
Run: ASAN_OPTIONS="handle_abort=1" ./build/wat2wasm test.wat
Test: 
```wat
( elem f64 ( ) )
```

Backtrace:
```
wat2wasm: wabt/src/wast-parser.cc:3159: wabt::Result wabt::WastParser::ParseExpr(wabt::ExprList *): Assertion `!"ParseExpr should only be called when IsExpr() is true"' failed.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==555976==ERROR: AddressSanitizer: ABRT on unknown address 0x03e900087bc8 (pc 0x7ffff768f9fc bp 0x000000087bc8 sp 0x7fffffffbe30 T0)
    #0 0x7ffff768f9fc in __pthread_kill_implementation nptl/./nptl/pthread_kill.c:44:76
    #1 0x7ffff768f9fc in __pthread_kill_internal nptl/./nptl/pthread_kill.c:78:10
    #2 0x7ffff768f9fc in pthread_kill nptl/./nptl/pthread_kill.c:89:10
    #3 0x7ffff763b475 in gsignal signal/../sysdeps/posix/raise.c:26:13
    #4 0x7ffff76217f2 in abort stdlib/./stdlib/abort.c:79:7
    #5 0x7ffff762171a in __assert_fail_base assert/./assert/assert.c:92:3
    #6 0x7ffff7632e95 in __assert_fail assert/./assert/assert.c:101:3
    #7 0x5555557bb23a in wabt::WastParser::ParseExpr(wabt::intrusive_list<wabt::Expr>*) wabt/src/wast-parser.cc:3159:9
    #8 0x5555557bdcb8 in wabt::WastParser::ParseElemExprOpt(wabt::intrusive_list<wabt::Expr>*) wabt/src/wast-parser.cc:877:9
    #9 0x5555557be147 in wabt::WastParser::ParseElemExprListOpt(std::vector<wabt::intrusive_list<wabt::Expr>, std::allocator<wabt::intrusive_list<wabt::Expr> > >*) wabt/src/wast-parser.cc:890:10
    #10 0x5555557d5197 in wabt::WastParser::ParseElemModuleField(wabt::Module*) wabt/src/wast-parser.cc:1406:5
    #11 0x5555557d34e8 in wabt::WastParser::ParseModuleField(wabt::Module*) wabt/src/wast-parser.cc:1304:36
    #12 0x5555557cd9e8 in wabt::WastParser::ParseModuleFieldList(wabt::Module*) wabt/src/wast-parser.cc:1291:16
    #13 0x5555557c817e in wabt::WastParser::ParseModule(std::unique_ptr<wabt::Module, std::default_delete<wabt::Module> >*) wabt/src/wast-parser.cc:1180:5
    #14 0x5555558101e6 in wabt::ParseWatModule(wabt::WastLexer*, std::unique_ptr<wabt::Module, std::default_delete<wabt::Module> >*, std::vector<wabt::Error, std::allocator<wabt::Error> >*, wabt::WastParseOptions*) wabt/src/wast-parser.cc:3695:3
    #15 0x55555572d88a in ProgramMain(int, char**) wabt/src/tools/wat2wasm.cc:145:12
    #16 0x55555572f0a0 in main wabt/src/tools/wat2wasm.cc:173:10
    #17 0x7ffff7622d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #18 0x7ffff7622e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #19 0x55555566c624 in _start (wabt/build/wat2wasm+0x118624) (BuildId: 29bdea1892b1290d135d07f14dc8b5e0e72af4c2)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: ABRT nptl/./nptl/pthread_kill.c:44:76 in __pthread_kill_implementation
==555976==ABORTING
```
The issue was found by libFuzzer with a [Grammarinator](https://github.com/renatahodovan/grammarinator)-based custom mutator.
wat2wasm: Assertion `!"ParseExpr should only be called when IsExpr() is true"' failed in wabt::WastParser::ParseExpr
This is a GitHub Issue
repo:wabt
owner:WebAssembly
Title : wat2wasm: Assertion `!"ParseExpr should only be called when IsExpr() is true"' failed in wabt::WastParser::ParseExpr
Issue date:

--- start body ---
GIT revision: 356931a8
Run: ASAN_OPTIONS="handle_abort=1" ./build/wat2wasm test.wat
Test: 
```wat
( elem f64 ( ) )
```

Backtrace:
```
wat2wasm: wabt/src/wast-parser.cc:3159: wabt::Result wabt::WastParser::ParseExpr(wabt::ExprList *): Assertion `!"ParseExpr should only be called when IsExpr() is true"' failed.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==555976==ERROR: AddressSanitizer: ABRT on unknown address 0x03e900087bc8 (pc 0x7ffff768f9fc bp 0x000000087bc8 sp 0x7fffffffbe30 T0)
    #0 0x7ffff768f9fc in __pthread_kill_implementation nptl/./nptl/pthread_kill.c:44:76
    #1 0x7ffff768f9fc in __pthread_kill_internal nptl/./nptl/pthread_kill.c:78:10
    #2 0x7ffff768f9fc in pthread_kill nptl/./nptl/pthread_kill.c:89:10
    #3 0x7ffff763b475 in gsignal signal/../sysdeps/posix/raise.c:26:13
    #4 0x7ffff76217f2 in abort stdlib/./stdlib/abort.c:79:7
    #5 0x7ffff762171a in __assert_fail_base assert/./assert/assert.c:92:3
    #6 0x7ffff7632e95 in __assert_fail assert/./assert/assert.c:101:3
    #7 0x5555557bb23a in wabt::WastParser::ParseExpr(wabt::intrusive_list<wabt::Expr>*) wabt/src/wast-parser.cc:3159:9
    #8 0x5555557bdcb8 in wabt::WastParser::ParseElemExprOpt(wabt::intrusive_list<wabt::Expr>*) wabt/src/wast-parser.cc:877:9
    #9 0x5555557be147 in wabt::WastParser::ParseElemExprListOpt(std::vector<wabt::intrusive_list<wabt::Expr>, std::allocator<wabt::intrusive_list<wabt::Expr> > >*) wabt/src/wast-parser.cc:890:10
    #10 0x5555557d5197 in wabt::WastParser::ParseElemModuleField(wabt::Module*) wabt/src/wast-parser.cc:1406:5
    #11 0x5555557d34e8 in wabt::WastParser::ParseModuleField(wabt::Module*) wabt/src/wast-parser.cc:1304:36
    #12 0x5555557cd9e8 in wabt::WastParser::ParseModuleFieldList(wabt::Module*) wabt/src/wast-parser.cc:1291:16
    #13 0x5555557c817e in wabt::WastParser::ParseModule(std::unique_ptr<wabt::Module, std::default_delete<wabt::Module> >*) wabt/src/wast-parser.cc:1180:5
    #14 0x5555558101e6 in wabt::ParseWatModule(wabt::WastLexer*, std::unique_ptr<wabt::Module, std::default_delete<wabt::Module> >*, std::vector<wabt::Error, std::allocator<wabt::Error> >*, wabt::WastParseOptions*) wabt/src/wast-parser.cc:3695:3
    #15 0x55555572d88a in ProgramMain(int, char**) wabt/src/tools/wat2wasm.cc:145:12
    #16 0x55555572f0a0 in main wabt/src/tools/wat2wasm.cc:173:10
    #17 0x7ffff7622d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #18 0x7ffff7622e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #19 0x55555566c624 in _start (wabt/build/wat2wasm+0x118624) (BuildId: 29bdea1892b1290d135d07f14dc8b5e0e72af4c2)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: ABRT nptl/./nptl/pthread_kill.c:44:76 in __pthread_kill_implementation
==555976==ABORTING
```
The issue was found by libFuzzer with a [Grammarinator](https://github.com/renatahodovan/grammarinator)-based custom mutator.
--- end body ---
