#include "MinGW.h"
#include "COFFLinkerContext.h"
#include "Driver.h"
#include "InputFiles.h"
#include "SymbolTable.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/Parallel.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/TimeProfiler.h"
#include "llvm/Support/raw_ostream.h"
usingnamespacellvm;
usingnamespacellvm::COFF;
usingnamespacelld;
usingnamespacelld::coff;
AutoExporter::AutoExporter(
COFFLinkerContext &ctx,
const llvm::DenseSet<StringRef> &manualExcludeSymbols)
: … { … }
void AutoExporter::addWholeArchive(StringRef path) { … }
void AutoExporter::addExcludedSymbol(StringRef symbol) { … }
bool AutoExporter::shouldExport(Defined *sym) const { … }
void lld::coff::writeDefFile(StringRef name,
const std::vector<Export> &exports) { … }
static StringRef mangle(Twine sym, MachineTypes machine) { … }
std::vector<WrappedSymbol>
lld::coff::addWrappedSymbols(COFFLinkerContext &ctx, opt::InputArgList &args) { … }
void lld::coff::wrapSymbols(COFFLinkerContext &ctx,
ArrayRef<WrappedSymbol> wrapped) { … }