1*5ffd83dbSDimitry Andric //===- Symbols.cpp --------------------------------------------------------===// 2*5ffd83dbSDimitry Andric // 3*5ffd83dbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*5ffd83dbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*5ffd83dbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*5ffd83dbSDimitry Andric // 7*5ffd83dbSDimitry Andric //===----------------------------------------------------------------------===// 8*5ffd83dbSDimitry Andric 9*5ffd83dbSDimitry Andric #include "Symbols.h" 10*5ffd83dbSDimitry Andric #include "InputFiles.h" 11*5ffd83dbSDimitry Andric 12*5ffd83dbSDimitry Andric using namespace llvm; 13*5ffd83dbSDimitry Andric using namespace lld; 14*5ffd83dbSDimitry Andric using namespace lld::macho; 15*5ffd83dbSDimitry Andric 16*5ffd83dbSDimitry Andric void LazySymbol::fetchArchiveMember() { file->fetch(sym); } 17*5ffd83dbSDimitry Andric 18*5ffd83dbSDimitry Andric // Returns a symbol for an error message. 19*5ffd83dbSDimitry Andric std::string lld::toString(const Symbol &sym) { 20*5ffd83dbSDimitry Andric if (Optional<std::string> s = demangleItanium(sym.getName())) 21*5ffd83dbSDimitry Andric return *s; 22*5ffd83dbSDimitry Andric return std::string(sym.getName()); 23*5ffd83dbSDimitry Andric } 24