struct ModuleInfoHeader

Declaration

struct ModuleInfoHeader { /* full declaration omitted */ };

Description

The header preceding each entry in the Module Info substream of the DBI stream. Corresponds to the type MODI in the reference implementation.

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/RawTypes.h:212

Member Variables

public support::ulittle32_t Mod
Currently opened module. This field is a pointer in the reference implementation, but that won't work on 64-bit systems, and anyway it doesn't make sense to read a pointer from a file. For now it is unused, so just ignore it.
public llvm::pdb::SectionContrib SC
First section contribution of this module.
public support::ulittle16_t Flags
See ModInfoFlags definition.
public support::ulittle16_t ModDiStream
Stream Number of module debug info
public support::ulittle32_t SymBytes
Size of local symbol debug info in above stream
public support::ulittle32_t C11Bytes
Size of C11 line number info in above stream
public support::ulittle32_t C13Bytes
Size of C13 line number info in above stream
public support::ulittle16_t NumFiles
Number of files contributing to this module
public char[2] Padding1
Padding so the next field is 4-byte aligned.
public support::ulittle32_t FileNameOffs
Array of [0..NumFiles) DBI name buffer offsets. In the reference implementation this field is a pointer. But since you can't portably serialize a pointer, on 64-bit platforms they copy all the values except this one into the 32-bit version of the struct and use that for serialization. Regardless, this field is unused, it is only there to store a pointer that can be accessed at runtime.
public support::ulittle32_t SrcFileNameNI
Name Index for src file name
public support::ulittle32_t PdbFilePathNI
Name Index for path to compiler PDB