Index: lld/wasm/InputFiles.cpp =================================================================== --- lld/wasm/InputFiles.cpp +++ lld/wasm/InputFiles.cpp @@ -196,6 +196,9 @@ if (!Sym.isDefined()) return nullptr; + StringRef Name = Sym.Info.Name; + uint32_t Flags = Sym.Info.Flags; + switch (Sym.Info.Kind) { case WASM_SYMBOL_TYPE_FUNCTION: { InputFunction *Func = getFunction(Sym); @@ -205,9 +208,8 @@ } if (Sym.isBindingLocal()) - return make(Sym.Info.Name, Sym.Info.Flags, this, Func); - return Symtab->addDefinedFunction(Sym.Info.Name, Sym.Info.Flags, this, - Func); + return make(Name, Flags, this, Func); + return Symtab->addDefinedFunction(Name, Flags, this, Func); } case WASM_SYMBOL_TYPE_DATA: { InputSegment *Seg = getSegment(Sym); @@ -220,17 +222,13 @@ uint32_t Size = Sym.Info.DataRef.Size; if (Sym.isBindingLocal()) - return make(Sym.Info.Name, Sym.Info.Flags, this, Seg, Offset, - Size); - return Symtab->addDefinedData(Sym.Info.Name, Sym.Info.Flags, this, Seg, - Offset, Size); + return make(Name, Flags, this, Seg, Offset, Size); + return Symtab->addDefinedData(Name, Flags, this, Seg, Offset, Size); } case WASM_SYMBOL_TYPE_GLOBAL: if (Sym.isBindingLocal()) - return make(Sym.Info.Name, Sym.Info.Flags, this, - getGlobal(Sym)); - return Symtab->addDefinedGlobal(Sym.Info.Name, Sym.Info.Flags, this, - getGlobal(Sym)); + return make(Name, Flags, this, getGlobal(Sym)); + return Symtab->addDefinedGlobal(Name, Flags, this, getGlobal(Sym)); } llvm_unreachable("unkown symbol kind"); }