llvm/lld/COFF/MinGW.cpp

//===- MinGW.cpp ----------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#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) {}

// Handles -wrap option.
//
// This function instantiates wrapper symbols. At this point, they seem
// like they are not being used at all, so we explicitly set some flags so
// that LTO won't eliminate them.
std::vector<WrappedSymbol>
lld::coff::addWrappedSymbols(COFFLinkerContext &ctx, opt::InputArgList &args) {}

// Do renaming for -wrap by updating pointers to symbols.
//
// When this function is executed, only InputFiles and symbol table
// contain pointers to symbol objects. We visit them to replace pointers,
// so that wrapped symbols are swapped as instructed by the command line.
void lld::coff::wrapSymbols(COFFLinkerContext &ctx,
                            ArrayRef<WrappedSymbol> wrapped) {}