diff options
Diffstat (limited to 'lld/wasm/Driver.cpp')
-rw-r--r-- | lld/wasm/Driver.cpp | 11 |
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) |