diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-09-21 12:20:59 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-09-21 13:53:40 -0700 |
commit | 228b9a1cfc89ede2dcc064de9b2e60f53a047128 (patch) | |
tree | caa851a9125d36adfede33672baf47ad5d54b85c /src/wasm-s-parser.h | |
parent | e0b2af0827e98fb91f4ff90b57b7579da1608365 (diff) | |
download | binaryen-228b9a1cfc89ede2dcc064de9b2e60f53a047128.tar.gz binaryen-228b9a1cfc89ede2dcc064de9b2e60f53a047128.tar.bz2 binaryen-228b9a1cfc89ede2dcc064de9b2e60f53a047128.zip |
loop block signatures
Diffstat (limited to 'src/wasm-s-parser.h')
-rw-r--r-- | src/wasm-s-parser.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index a914b6598..6e0eda826 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -1287,16 +1287,20 @@ private: auto ret = allocator.alloc<Loop>(); size_t i = 1; Name out; - if (s.size() > i + 1 && s[i]->isStr() && s[i + 1]->isStr()) { // out can only be named if both are + if (s.size() > i + 1 && s[i]->dollared() && s[i + 1]->dollared()) { // out can only be named if both are out = s[i]->str(); i++; } - if (s.size() > i && s[i]->isStr()) { + if (s.size() > i && s[i]->dollared()) { ret->name = s[i]->str(); i++; } else { ret->name = getPrefixedName("loop-in"); } + if (i < s.size() && s[i]->isStr()) { + // block signature + i++; // TODO: parse the signature + } labelStack.push_back(ret->name); ret->body = makeMaybeBlock(s, i); labelStack.pop_back(); |