summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/wasm/Driver.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp
index 1903206141e..55dc7d174d3 100644
--- a/lld/wasm/Driver.cpp
+++ b/lld/wasm/Driver.cpp
@@ -344,13 +344,14 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) {
if (errorCount())
return;
+ // Handle --export.
for (auto *Arg : Args.filtered(OPT_export)) {
- Symbol *Sym = Symtab->find(Arg->getValue());
- if (!Sym || !Sym->isDefined())
- error("symbol exported via --export not found: " +
- Twine(Arg->getValue()));
- else
+ StringRef Name = Arg->getValue();
+ Symbol *Sym = Symtab->find(Name);
+ if (Sym && Sym->isDefined())
Sym->setHidden(false);
+ else
+ error("symbol exported via --export not found: " + Name);
}
if (EntrySym)
OpenPOWER on IntegriCloud