26 NamedStreams(NamedStreams) {
27 ::memset(&Guid, 0,
sizeof(Guid));
33 Features.push_back(Sig);
37 HashPDBContentsToGUID =
B;
49 NamedStreams.calculateSerializedLength() +
50 (Features.size() + 1) *
sizeof(
uint32_t);
60 Layout, Buffer,
StreamPDB, Msf.getAllocator());
66 ::memset(&
H, 0,
sizeof(
H));
71 if (
auto EC = NamedStreams.commit(Writer))
75 for (
auto E : Features) {
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Provides write only access to a subclass of WritableBinaryStream.
Error writeInteger(T Value)
Write the integer Value to the underlying stream in the specified endianness.
uint64_t bytesRemaining() const
Error writeEnum(T Num)
Similar to writeInteger.
Error writeObject(const T &Obj)
Writes the object Obj to the underlying stream, as if by using memcpy.
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
The TimeTraceScope is a helper class to call the begin and end functions of the time trace profiler.
static std::unique_ptr< WritableMappedBlockStream > createIndexedStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, uint32_t StreamIndex, BumpPtrAllocator &Allocator)
LLVM_ABI void setSignature(uint32_t S)
LLVM_ABI void addFeature(PdbRaw_FeatureSig Sig)
LLVM_ABI Error finalizeMsfLayout()
LLVM_ABI Error commit(const msf::MSFLayout &Layout, WritableBinaryStreamRef Buffer) const
LLVM_ABI InfoStreamBuilder(msf::MSFBuilder &Msf, NamedStreamMap &NamedStreams)
LLVM_ABI void setVersion(PdbRaw_ImplVer V)
LLVM_ABI void setAge(uint32_t A)
LLVM_ABI void setHashPDBContentsToGUID(bool B)
LLVM_ABI void setGuid(codeview::GUID G)
This is an optimization pass for GlobalISel generic memory operations.
This represents the 'GUID' type from windows.h.