summaryrefslogtreecommitdiff
path: root/src/parsing.h
diff options
context:
space:
mode:
authorAlon Zakai (kripken) <alonzakai@gmail.com>2017-05-29 18:45:46 -0700
committerAlon Zakai <alonzakai@gmail.com>2017-06-01 13:17:44 -0700
commitb32e1a966681e5d480d2beb81310a4c8bf65ecdb (patch)
treeb88238fa40a39388c4b392c0d1115d460a8b2bcd /src/parsing.h
parent1a5dffbba9c247786ccfe4dd0a510d4e0f156595 (diff)
downloadbinaryen-b32e1a966681e5d480d2beb81310a4c8bf65ecdb.tar.gz
binaryen-b32e1a966681e5d480d2beb81310a4c8bf65ecdb.tar.bz2
binaryen-b32e1a966681e5d480d2beb81310a4c8bf65ecdb.zip
handle empty stack in sourceToUnique
Diffstat (limited to 'src/parsing.h')
-rw-r--r--src/parsing.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/parsing.h b/src/parsing.h
index 12029d290..15f22040d 100644
--- a/src/parsing.h
+++ b/src/parsing.h
@@ -251,7 +251,10 @@ struct UniqueNameMapper {
Name sourceToUnique(Name sName) {
if (labelMappings.find(sName) == labelMappings.end()) {
- throw ParseException("label mismatch in sourceToUnique");
+ throw ParseException("bad label in sourceToUnique");
+ }
+ if (labelMappings[sName].empty()) {
+ throw ParseException("use of popped label in sourceToUnique");
}
return labelMappings[sName].back();
}