Like D131354, but for COFF.
No behavior change.
Differential Revision: https://reviews.llvm.org/D131405
#include "lld/Common/Memory.h"
#include "llvm/DebugInfo/CodeView/TypeHashing.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
COFFLinkerContext::COFFLinkerContext()
: symtab(*this), rootTimer("Total Linking Time"),
tpiStreamLayoutTimer("TPI Stream Layout", totalPdbLinkTimer),
diskCommitTimer("Commit to Disk", totalPdbLinkTimer) {}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#include "lld/Common/CommonLinkerContext.h"
#include "lld/Common/Timer.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
class COFFLinkerContext : public CommonLinkerContext {
public:
Timer diskCommitTimer;
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
#include "llvm/ADT/DenseMap.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
class SectionChunk;
class COFFLinkerContext;
llvm::DenseMap<const SectionChunk *, int>
computeCallGraphProfileOrder(const COFFLinkerContext &ctx);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
using namespace llvm::COFF;
using llvm::support::ulittle32_t;
-namespace lld {
-namespace coff {
+namespace lld::coff {
SectionChunk::SectionChunk(ObjFile *f, const coff_section *h)
: Chunk(SectionKind), file(f), header(h), repl(this) {
}
}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#include <utility>
#include <vector>
-namespace lld {
-namespace coff {
+namespace lld::coff {
using llvm::COFF::ImportDirectoryTableEntry;
using llvm::object::COFFSymbolRef;
void applyArm64Imm(uint8_t *off, uint64_t imm, uint32_t rangeLimit);
void applyArm64Branch26(uint8_t *off, int64_t v);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
namespace llvm {
template <>
#include <set>
#include <string>
-namespace lld {
-namespace coff {
+namespace lld::coff {
using llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN;
using llvm::COFF::WindowsSubsystem;
extern std::unique_ptr<Configuration> config;
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
using namespace llvm::support::endian;
using namespace llvm::COFF;
-namespace lld {
-namespace coff {
+namespace lld::coff {
namespace {
// Import table
chunks.insert(chunks.end(), forwards.begin(), forwards.end());
}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#include "Chunks.h"
#include "Symbols.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
// Windows-specific.
// IdataContents creates all chunks for the DLL import table.
}
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
};
} // namespace
-namespace lld {
-namespace coff {
+namespace lld::coff {
/// This type is just a wrapper around GHashTable with external linkage so it
/// can be used from a header.
struct GHashState {
GHashTable table;
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
GHashTable::~GHashTable() { delete[] table; }
#include "llvm/Support/Error.h"
#include "llvm/Support/MemoryBuffer.h"
-namespace llvm {
-namespace codeview {
+namespace llvm::codeview {
struct GloballyHashedType;
-} // namespace codeview
-namespace pdb {
+}
+namespace llvm::pdb {
class NativeSession;
class TpiStream;
}
-} // namespace llvm
-namespace lld {
-namespace coff {
+namespace lld::coff {
using llvm::codeview::GloballyHashedType;
using llvm::codeview::TypeIndex;
TpiSource *makeUsePrecompSource(COFFLinkerContext &ctx, ObjFile *file,
llvm::codeview::PrecompRecord ts);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
using namespace llvm::COFF;
using namespace llvm::sys;
-namespace lld {
-namespace coff {
+namespace lld::coff {
std::unique_ptr<Configuration> config;
std::unique_ptr<LinkerDriver> driver;
ctx.rootTimer.print();
}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#include <set>
#include <vector>
-namespace lld {
-namespace coff {
+namespace lld::coff {
extern std::unique_ptr<class LinkerDriver> driver;
#undef OPTION
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
using namespace llvm;
-namespace lld {
-namespace coff {
+namespace lld::coff {
class ICF {
public:
ICF(ctx, icfLevel).run();
}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#include "lld/Common/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
class Chunk;
class COFFLinkerContext;
void doICF(COFFLinkerContext &ctx, ICFLevel);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
#ifndef LLD_COFF_LLDMAPFILE_H
#define LLD_COFF_LLDMAPFILE_H
-namespace lld {
-namespace coff {
+namespace lld::coff {
class COFFLinkerContext;
void writeLLDMapFile(const COFFLinkerContext &ctx);
}
-}
#endif
#include <memory>
#include <vector>
-namespace llvm {
-namespace lto {
+namespace llvm::lto {
class LTO;
}
-}
-namespace lld {
-namespace coff {
+namespace lld::coff {
class BitcodeFile;
class InputFile;
llvm::DenseSet<StringRef> thinIndices;
};
}
-}
#endif
#ifndef LLD_COFF_MAPFILE_H
#define LLD_COFF_MAPFILE_H
-namespace lld {
-namespace coff {
+namespace lld::coff {
class COFFLinkerContext;
void writeMapFile(COFFLinkerContext &ctx);
}
-}
#endif
#include "llvm/ADT/STLExtras.h"
#include <vector>
-namespace lld {
-namespace coff {
+namespace lld::coff {
// Set live bit on for each reachable chunk. Unmarked (unreachable)
// COMDAT chunks will be ignored by Writer, so they will be excluded
}
}
}
-}
#include "lld/Common/LLVM.h"
-namespace lld {
-namespace coff {
+namespace lld::coff {
class COFFLinkerContext;
void markLive(COFFLinkerContext &ctx);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif // LLD_COFF_MARKLIVE_H
#include "llvm/Option/ArgList.h"
#include <vector>
-namespace lld {
-namespace coff {
+namespace lld::coff {
class COFFLinkerContext;
// Logic for deciding what symbols to export, when exporting all
void wrapSymbols(COFFLinkerContext &ctx, ArrayRef<WrappedSymbol> wrapped);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
-namespace llvm {
-namespace codeview {
+namespace llvm::codeview {
union DebugInfo;
}
-}
namespace lld {
class Timer;
using namespace llvm;
-namespace lld {
-namespace coff {
+namespace lld::coff {
StringRef ltrim1(StringRef s, const char *chars) {
if (!s.empty() && strchr(chars, s[0]))
}
}
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
struct LTOCodeGenerator;
}
-namespace lld {
-namespace coff {
+namespace lld::coff {
class Chunk;
class CommonChunk;
StringRef ltrim1(StringRef s, const char *chars);
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
#include "llvm/Support/Allocator.h"
#include <atomic>
-namespace lld {
-namespace coff {
+namespace lld::coff {
using llvm::codeview::GloballyHashedType;
using llvm::codeview::TypeIndex;
COFFLinkerContext &ctx;
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif
#include <cstdint>
#include <vector>
-namespace lld {
-namespace coff {
+namespace lld::coff {
static const int pageSize = 4096;
class COFFLinkerContext;
uint32_t stringTableOff = 0;
};
-} // namespace coff
-} // namespace lld
+} // namespace lld::coff
#endif