10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PDBDBISTREAMBUILDER_H
11 #define LLVM_DEBUGINFO_PDB_RAW_PDBDBISTREAMBUILDER_H
33 struct DbiStreamHeader;
68 static std::vector<SectionContrib>
72 static std::vector<SecMapEntry>
78 uint16_t StreamNumber = 0;
82 uint32_t calculateModiSubstreamSize()
const;
83 uint32_t calculateSectionContribsStreamSize()
const;
84 uint32_t calculateSectionMapStreamSize()
const;
85 uint32_t calculateFileInfoSubstreamSize()
const;
86 uint32_t calculateNamesBufferSize()
const;
87 uint32_t calculateDbgStreamsSize()
const;
89 Error generateModiSubstream();
90 Error generateFileInfoSubstream();
103 uint16_t BuildNumber;
104 uint16_t PdbDllVersion;
112 std::vector<ModuleInfo *> ModuleInfoList;
Error finalizeMsfLayout()
uint32_t calculateSerializedLength() const
A Module instance is used to store all the information related to an LLVM module. ...
void setSectionMap(ArrayRef< SecMapEntry > SecMap)
void setMachineType(PDB_Machine M)
static std::vector< SecMapEntry > createSectionMap(ArrayRef< llvm::object::coff_section > SecHdrs)
Error addDbgStream(pdb::DbgHeaderType Type, ArrayRef< uint8_t > Data)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Error commit(const msf::MSFLayout &Layout, const msf::WritableStream &Buffer)
static GCRegistry::Add< OcamlGC > B("ocaml","ocaml 3.10-compatible GC")
DbiStreamBuilder & operator=(const DbiStreamBuilder &)=delete
The instances of the Type class are immutable: once they are created, they are never changed...
Allocate memory in an ever growing pool, as if by bump-pointer.
void setBuildNumber(uint16_t B)
void setFlags(uint16_t F)
void setVersionHeader(PdbRaw_DbiVer V)
void setPdbDllRbld(uint16_t R)
void setPdbDllVersion(uint16_t V)
static std::vector< SectionContrib > createSectionContribs(ArrayRef< llvm::object::coff_section > SecHdrs)
StringMap - This is an unconventional map that is specialized for handling keys that are "strings"...
Error addModuleSourceFile(StringRef Module, StringRef File)
void setSectionContribs(ArrayRef< SectionContrib > SecMap)
Error addModuleInfo(StringRef ObjFile, StringRef Module)
DbiStreamBuilder(msf::MSFBuilder &Msf)
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
static GCRegistry::Add< ErlangGC > A("erlang","erlang-compatible garbage collector")