#ifndef LLD_COFF_INPUT_FILES_H
#define LLD_COFF_INPUT_FILES_H
#include "Config.h"
#include "lld/Common/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/StringSaver.h"
#include <memory>
#include <set>
#include <vector>
namespace llvm {
struct DILineInfo;
namespace pdb {
class DbiModuleDescriptorBuilder;
class NativeSession;
}
namespace lto {
class InputFile;
}
}
namespace lld {
class DWARFCache;
namespace coff {
class COFFLinkerContext;
std::vector<MemoryBufferRef> getArchiveMembers(llvm::object::Archive *file);
IMAGE_FILE_MACHINE_UNKNOWN;
MachineTypes;
Archive;
COFFObjectFile;
COFFSymbolRef;
coff_import_header;
coff_section;
class Chunk;
class Defined;
class DefinedImportData;
class DefinedImportThunk;
class DefinedRegular;
class SectionChunk;
class Symbol;
class Undefined;
class TpiSource;
class InputFile { … };
class ArchiveFile : public InputFile { … };
class ObjFile : public InputFile { … };
class PDBInputFile : public InputFile { … };
class ImportFile : public InputFile { … };
class BitcodeFile : public InputFile { … };
class DLLFile : public InputFile { … };
inline bool isBitcode(MemoryBufferRef mb) { … }
std::string replaceThinLTOSuffix(StringRef path, StringRef suffix,
StringRef repl);
}
std::string toString(const coff::InputFile *file);
}
#endif