Index: lld/trunk/wasm/InputFiles.cpp =================================================================== --- lld/trunk/wasm/InputFiles.cpp +++ lld/trunk/wasm/InputFiles.cpp @@ -175,6 +175,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 = @@ -185,9 +188,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 = Segments[Sym.Info.DataRef.Segment]; @@ -200,18 +202,15 @@ 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: InputGlobal *Global = Globals[Sym.Info.ElementIndex - WasmObj->getNumImportedGlobals()]; if (Sym.isBindingLocal()) - return make(Sym.Info.Name, Sym.Info.Flags, this, Global); - return Symtab->addDefinedGlobal(Sym.Info.Name, Sym.Info.Flags, this, - Global); + return make(Name, Flags, this, Global); + return Symtab->addDefinedGlobal(Name, Flags, this, Global); } llvm_unreachable("unkown symbol kind"); }