LLVM: lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
10
17
18using namespace llvm;
22
26 NamedStreams(NamedStreams) {
27 ::memset(&Guid, 0, sizeof(Guid));
28}
29
31
33 Features.push_back(Sig);
34}
35
37 HashPDBContentsToGUID = B;
38}
39
41
43
45
46
49 NamedStreams.calculateSerializedLength() +
50 (Features.size() + 1) * sizeof(uint32_t);
52 return EC;
54}
55
60 Layout, Buffer, StreamPDB, Msf.getAllocator());
62
64
65
66 ::memset(&H, 0, sizeof(H));
67 H.Version = Ver;
69 return EC;
70
71 if (auto EC = NamedStreams.commit(Writer))
72 return EC;
74 return EC;
75 for (auto E : Features) {
77 return EC;
78 }
81}
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)
Definition InfoStreamBuilder.cpp:42
LLVM_ABI void addFeature(PdbRaw_FeatureSig Sig)
Definition InfoStreamBuilder.cpp:32
LLVM_ABI Error finalizeMsfLayout()
Definition InfoStreamBuilder.cpp:47
LLVM_ABI Error commit(const msf::MSFLayout &Layout, WritableBinaryStreamRef Buffer) const
Definition InfoStreamBuilder.cpp:56
LLVM_ABI InfoStreamBuilder(msf::MSFBuilder &Msf, NamedStreamMap &NamedStreams)
Definition InfoStreamBuilder.cpp:23
LLVM_ABI void setVersion(PdbRaw_ImplVer V)
Definition InfoStreamBuilder.cpp:30
LLVM_ABI void setAge(uint32_t A)
Definition InfoStreamBuilder.cpp:40
LLVM_ABI void setHashPDBContentsToGUID(bool B)
Definition InfoStreamBuilder.cpp:36
LLVM_ABI void setGuid(codeview::GUID G)
Definition InfoStreamBuilder.cpp:44
This is an optimization pass for GlobalISel generic memory operations.
This represents the 'GUID' type from windows.h.