summaryrefslogtreecommitdiff
path: root/src/passes/Asyncify.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-07-31 20:33:26 -0700
committerGitHub <noreply@github.com>2019-07-31 20:33:26 -0700
commit0ec9ddf416de2dc9fc68d574513c52079c7ab238 (patch)
tree9e2d249ec7d43c5d8193875709ed6c73086dce57 /src/passes/Asyncify.cpp
parentcbcca4cf42690514c04fce958675dcc05c1e86e3 (diff)
downloadbinaryen-0ec9ddf416de2dc9fc68d574513c52079c7ab238.tar.gz
binaryen-0ec9ddf416de2dc9fc68d574513c52079c7ab238.tar.bz2
binaryen-0ec9ddf416de2dc9fc68d574513c52079c7ab238.zip
Proper Asyncify list name handling (#2275)
The lists are comma separated, but the names can have internal commas since they are human-readable. This adds awareness of bracketing things, so void foo(int, double) is parsed as a single function name, properly. Helps emscripten-core/emscripten#9128
Diffstat (limited to 'src/passes/Asyncify.cpp')
-rw-r--r--src/passes/Asyncify.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp
index 361976fc3..379452d42 100644
--- a/src/passes/Asyncify.cpp
+++ b/src/passes/Asyncify.cpp
@@ -1043,6 +1043,9 @@ struct Asyncify : public Pass {
String::Split whitelist(
runner->options.getArgumentOrDefault("asyncify-whitelist", ""), ",");
+ blacklist = handleBracketingOperators(blacklist);
+ whitelist = handleBracketingOperators(whitelist);
+
// The lists contain human-readable strings. Turn them into the internal
// escaped names for later comparisons
auto processList = [module](String::Split& list, const std::string& which) {