#ifndef LLD_ELF_CONFIG_H
#define LLD_ELF_CONFIG_H
#include "lld/Common/ErrorHandler.h"
#include "llvm/ADT/CachedHashString.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/CachePruning.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Compression.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/GlobPattern.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/TarWriter.h"
#include <atomic>
#include <memory>
#include <optional>
#include <vector>
namespace lld::elf {
class InputFile;
class BinaryFile;
class BitcodeFile;
class ELFFileBase;
class SharedFile;
class InputSectionBase;
class EhInputSection;
class Defined;
class Symbol;
class BitcodeCompiler;
class OutputSection;
class LinkerScript;
class TargetInfo;
struct Partition;
struct PhdrEntry;
enum ELFKind : uint8_t { … };
enum class BsymbolicKind { … };
enum class BuildIdKind { … };
enum class CGProfileSortKind { … };
enum class DiscardPolicy { … };
enum class ICFLevel { … };
enum class StripPolicy { … };
enum class UnresolvedPolicy { … };
enum class OrphanHandlingPolicy { … };
enum class SortSectionPolicy { … };
enum class Target2Policy { … };
enum class ARMVFPArgKind { … };
enum class SeparateSegmentKind { … };
enum class GnuStackKind { … };
enum LtoKind : uint8_t { … };
enum class GcsPolicy { … };
struct SymbolVersion { … };
struct VersionDefinition { … };
class LinkerDriver { … };
struct Config { … };
struct ConfigWrapper { … };
LLVM_LIBRARY_VISIBILITY extern ConfigWrapper config;
struct SymbolAux { … };
struct DuplicateSymbol { … };
struct Ctx { … };
LLVM_LIBRARY_VISIBILITY extern Ctx ctx;
static inline ArrayRef<VersionDefinition> namedVersionDefs() { … }
void errorOrWarn(const Twine &msg);
static inline void internalLinkerError(StringRef loc, const Twine &msg) { … }
}
#endif