LLVM 17.0.0git
|
Namespaces | |
namespace | detail |
Typedefs | |
using | CVType = CVRecord< TypeLeafKind > |
using | CVSymbol = CVRecord< SymbolKind > |
using | CVSymbolArray = VarStreamArray< CVSymbol > |
using | CVTypeArray = VarStreamArray< CVType > |
using | CVTypeRange = iterator_range< CVTypeArray::Iterator > |
using | DebugSubsectionArray = VarStreamArray< DebugSubsectionRecord > |
Enumerations | |
enum class | TypeRecordKind : uint16_t { TYPE_RECORD } |
Distinguishes individual records in .debug$T or .debug$P section or PDB type stream. More... | |
enum | TypeLeafKind : uint16_t |
Duplicate copy of the above enum, but using the official CV names. More... | |
enum class | SymbolRecordKind : uint16_t { SYMBOL_RECORD } |
Distinguishes individual records in the Symbols subsection of a .debug$S section. More... | |
enum | SymbolKind : uint16_t |
Duplicate copy of the above enum, but using the official CV names. More... | |
enum class | CPUType : uint16_t { Intel8080 = 0x0 , Intel8086 = 0x1 , Intel80286 = 0x2 , Intel80386 = 0x3 , Intel80486 = 0x4 , Pentium = 0x5 , PentiumPro = 0x6 , Pentium3 = 0x7 , MIPS = 0x10 , MIPS16 = 0x11 , MIPS32 = 0x12 , MIPS64 = 0x13 , MIPSI = 0x14 , MIPSII = 0x15 , MIPSIII = 0x16 , MIPSIV = 0x17 , MIPSV = 0x18 , M68000 = 0x20 , M68010 = 0x21 , M68020 = 0x22 , M68030 = 0x23 , M68040 = 0x24 , Alpha = 0x30 , Alpha21164 = 0x31 , Alpha21164A = 0x32 , Alpha21264 = 0x33 , Alpha21364 = 0x34 , PPC601 = 0x40 , PPC603 = 0x41 , PPC604 = 0x42 , PPC620 = 0x43 , PPCFP = 0x44 , PPCBE = 0x45 , SH3 = 0x50 , SH3E = 0x51 , SH3DSP = 0x52 , SH4 = 0x53 , SHMedia = 0x54 , ARM3 = 0x60 , ARM4 = 0x61 , ARM4T = 0x62 , ARM5 = 0x63 , ARM5T = 0x64 , ARM6 = 0x65 , ARM_XMAC = 0x66 , ARM_WMMX = 0x67 , ARM7 = 0x68 , Omni = 0x70 , Ia64 = 0x80 , Ia64_2 = 0x81 , CEE = 0x90 , AM33 = 0xa0 , M32R = 0xb0 , TriCore = 0xc0 , X64 = 0xd0 , EBC = 0xe0 , Thumb = 0xf0 , ARMNT = 0xf4 , ARM64 = 0xf6 , HybridX86ARM64 = 0xf7 , ARM64EC = 0xf8 , ARM64X = 0xf9 , D3D11_Shader = 0x100 } |
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx. More... | |
enum | SourceLanguage : uint8_t { C = 0x00 , Cpp = 0x01 , Fortran = 0x02 , Masm = 0x03 , Pascal = 0x04 , Basic = 0x05 , Cobol = 0x06 , Link = 0x07 , Cvtres = 0x08 , Cvtpgd = 0x09 , CSharp = 0x0a , VB = 0x0b , ILAsm = 0x0c , Java = 0x0d , JScript = 0x0e , MSIL = 0x0f , HLSL = 0x10 , Rust = 0x15 , D = 'D' , Swift = 'S' } |
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx. More... | |
enum class | CallingConvention : uint8_t { NearC = 0x00 , FarC = 0x01 , NearPascal = 0x02 , FarPascal = 0x03 , NearFast = 0x04 , FarFast = 0x05 , NearStdCall = 0x07 , FarStdCall = 0x08 , NearSysCall = 0x09 , FarSysCall = 0x0a , ThisCall = 0x0b , MipsCall = 0x0c , Generic = 0x0d , AlphaCall = 0x0e , PpcCall = 0x0f , SHCall = 0x10 , ArmCall = 0x11 , AM33Call = 0x12 , TriCall = 0x13 , SH5Call = 0x14 , M32RCall = 0x15 , ClrCall = 0x16 , Inline , NearVector = 0x18 } |
These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx. More... | |
enum class | ClassOptions : uint16_t { None = 0x0000 , Packed = 0x0001 , HasConstructorOrDestructor = 0x0002 , HasOverloadedOperator = 0x0004 , Nested = 0x0008 , ContainsNestedClass = 0x0010 , HasOverloadedAssignmentOperator = 0x0020 , HasConversionOperator = 0x0040 , ForwardReference = 0x0080 , Scoped = 0x0100 , HasUniqueName = 0x0200 , Sealed = 0x0400 , Intrinsic = 0x2000 } |
enum class | FrameProcedureOptions : uint32_t { None = 0x00000000 , HasAlloca = 0x00000001 , HasSetJmp = 0x00000002 , HasLongJmp = 0x00000004 , HasInlineAssembly = 0x00000008 , HasExceptionHandling = 0x00000010 , MarkedInline = 0x00000020 , HasStructuredExceptionHandling = 0x00000040 , Naked = 0x00000080 , SecurityChecks = 0x00000100 , AsynchronousExceptionHandling = 0x00000200 , NoStackOrderingForSecurityChecks = 0x00000400 , Inlined = 0x00000800 , StrictSecurityChecks = 0x00001000 , SafeBuffers = 0x00002000 , EncodedLocalBasePointerMask = 0x0000C000 , EncodedParamBasePointerMask = 0x00030000 , ProfileGuidedOptimization = 0x00040000 , ValidProfileCounts = 0x00080000 , OptimizedForSpeed = 0x00100000 , GuardCfg = 0x00200000 , GuardCfw = 0x00400000 } |
enum class | FunctionOptions : uint8_t { None = 0x00 , CxxReturnUdt = 0x01 , Constructor = 0x02 , ConstructorWithVirtualBases = 0x04 } |
enum class | HfaKind : uint8_t { None = 0x00 , Float = 0x01 , Double = 0x02 , Other = 0x03 } |
enum class | MemberAccess : uint8_t { None = 0 , Private = 1 , Protected = 2 , Public = 3 } |
Source-level access specifier. (CV_access_e) More... | |
enum class | MethodKind : uint8_t { Vanilla = 0x00 , Virtual = 0x01 , Static = 0x02 , Friend = 0x03 , IntroducingVirtual = 0x04 , PureVirtual = 0x05 , PureIntroducingVirtual = 0x06 } |
Part of member attribute flags. (CV_methodprop_e) More... | |
enum class | MethodOptions : uint16_t { None = 0x0000 , AccessMask = 0x0003 , MethodKindMask = 0x001c , Pseudo = 0x0020 , NoInherit = 0x0040 , NoConstruct = 0x0080 , CompilerGenerated = 0x0100 , Sealed = 0x0200 } |
Equivalent to CV_fldattr_t bitfield. More... | |
enum class | LabelType : uint16_t { Near = 0x0 , Far = 0x4 } |
Equivalent to CV_LABEL_TYPE_e. More... | |
enum class | ModifierOptions : uint16_t { None = 0x0000 , Const = 0x0001 , Volatile = 0x0002 , Unaligned = 0x0004 } |
Equivalent to CV_modifier_t. More... | |
enum | : uint32_t { SubsectionIgnoreFlag = 0x80000000 } |
enum class | DebugSubsectionKind : uint32_t { None = 0 , Symbols = 0xf1 , Lines = 0xf2 , StringTable = 0xf3 , FileChecksums = 0xf4 , FrameData = 0xf5 , InlineeLines = 0xf6 , CrossScopeImports = 0xf7 , CrossScopeExports = 0xf8 , ILLines = 0xf9 , FuncMDTokenMap = 0xfa , TypeMDTokenMap = 0xfb , MergedAssemblyInput = 0xfc , CoffSymbolRVA = 0xfd , XfgHashType = 0xff , XfgHashVirtual = 0x100 } |
enum class | PointerKind : uint8_t { Near16 = 0x00 , Far16 = 0x01 , Huge16 = 0x02 , BasedOnSegment = 0x03 , BasedOnValue = 0x04 , BasedOnSegmentValue = 0x05 , BasedOnAddress = 0x06 , BasedOnSegmentAddress = 0x07 , BasedOnType = 0x08 , BasedOnSelf = 0x09 , Near32 = 0x0a , Far32 = 0x0b , Near64 = 0x0c } |
Equivalent to CV_ptrtype_e. More... | |
enum class | PointerMode : uint8_t { Pointer = 0x00 , LValueReference = 0x01 , PointerToDataMember = 0x02 , PointerToMemberFunction = 0x03 , RValueReference = 0x04 } |
Equivalent to CV_ptrmode_e. More... | |
enum class | PointerOptions : uint32_t { None = 0x00000000 , Flat32 = 0x00000100 , Volatile = 0x00000200 , Const = 0x00000400 , Unaligned = 0x00000800 , Restrict = 0x00001000 , WinRTSmartPointer = 0x00080000 , LValueRefThisPointer = 0x00100000 , RValueRefThisPointer = 0x00200000 } |
Equivalent to misc lfPointerAttr bitfields. More... | |
enum class | PointerToMemberRepresentation : uint16_t { Unknown = 0x00 , SingleInheritanceData = 0x01 , MultipleInheritanceData = 0x02 , VirtualInheritanceData = 0x03 , GeneralData = 0x04 , SingleInheritanceFunction = 0x05 , MultipleInheritanceFunction = 0x06 , VirtualInheritanceFunction = 0x07 , GeneralFunction = 0x08 } |
Equivalent to CV_pmtype_e. More... | |
enum class | VFTableSlotKind : uint8_t { Near16 = 0x00 , Far16 = 0x01 , This = 0x02 , Outer = 0x03 , Meta = 0x04 , Near = 0x05 , Far = 0x06 } |
enum class | WindowsRTClassKind : uint8_t { None = 0x00 , RefClass = 0x01 , ValueClass = 0x02 , Interface = 0x03 } |
enum class | LocalSymFlags : uint16_t { None = 0 , IsParameter = 1 << 0 , IsAddressTaken = 1 << 1 , IsCompilerGenerated = 1 << 2 , IsAggregate = 1 << 3 , IsAggregated = 1 << 4 , IsAliased = 1 << 5 , IsAlias = 1 << 6 , IsReturnValue = 1 << 7 , IsOptimizedOut = 1 << 8 , IsEnregisteredGlobal = 1 << 9 , IsEnregisteredStatic = 1 << 10 } |
Corresponds to CV_LVARFLAGS bitfield. More... | |
enum class | PublicSymFlags : uint32_t { None = 0 , Code = 1 << 0 , Function = 1 << 1 , Managed = 1 << 2 , MSIL = 1 << 3 } |
Corresponds to the CV_PUBSYMFLAGS bitfield. More... | |
enum class | ProcSymFlags : uint8_t { None = 0 , HasFP = 1 << 0 , HasIRET = 1 << 1 , HasFRET = 1 << 2 , IsNoReturn = 1 << 3 , IsUnreachable = 1 << 4 , HasCustomCallingConv = 1 << 5 , IsNoInline = 1 << 6 , HasOptimizedDebugInfo = 1 << 7 } |
Corresponds to the CV_PROCFLAGS bitfield. More... | |
enum class | CompileSym2Flags : uint32_t { None = 0 , SourceLanguageMask = 0xFF , EC = 1 << 8 , NoDbgInfo = 1 << 9 , LTCG = 1 << 10 , NoDataAlign = 1 << 11 , ManagedPresent = 1 << 12 , SecurityChecks = 1 << 13 , HotPatch = 1 << 14 , CVTCIL = 1 << 15 , MSILModule = 1 << 16 } |
Corresponds to COMPILESYM2::Flags bitfield. More... | |
enum class | CompileSym3Flags : uint32_t { None = 0 , SourceLanguageMask = 0xFF , EC = 1 << 8 , NoDbgInfo = 1 << 9 , LTCG = 1 << 10 , NoDataAlign = 1 << 11 , ManagedPresent = 1 << 12 , SecurityChecks = 1 << 13 , HotPatch = 1 << 14 , CVTCIL = 1 << 15 , MSILModule = 1 << 16 , Sdl = 1 << 17 , PGO = 1 << 18 , Exp = 1 << 19 } |
Corresponds to COMPILESYM3::Flags bitfield. More... | |
enum class | ExportFlags : uint16_t { None = 0 , IsConstant = 1 << 0 , IsData = 1 << 1 , IsPrivate = 1 << 2 , HasNoName = 1 << 3 , HasExplicitOrdinal = 1 << 4 , IsForwarder = 1 << 5 } |
enum class | BinaryAnnotationsOpCode : uint32_t { Invalid , CodeOffset , ChangeCodeOffsetBase , ChangeCodeOffset , ChangeCodeLength , ChangeFile , ChangeLineOffset , ChangeLineEndDelta , ChangeRangeKind , ChangeColumnStart , ChangeColumnEndDelta , ChangeCodeOffsetAndLineOffset , ChangeCodeLengthAndCodeOffset , ChangeColumnEnd } |
enum class | FrameCookieKind : uint8_t { Copy , XorStackPointer , XorFramePointer , XorR13 } |
enum class | RegisterId : uint16_t { CV_REGISTERS_ALL , CV_REGISTER } |
enum class | EncodedFramePtrReg : uint8_t { None = 0 , StackPtr = 1 , FramePtr = 2 , BasePtr = 3 } |
Two-bit value indicating which register is the designated frame pointer register. More... | |
enum class | ThunkOrdinal : uint8_t { Standard , ThisAdjustor , Vcall , Pcode , UnknownLoad , TrampIncremental , BranchIsland } |
These values correspond to the THUNK_ORDINAL enumeration. More... | |
enum class | TrampolineType : uint16_t { TrampIncremental , BranchIsland } |
enum class | FileChecksumKind : uint8_t { None , MD5 , SHA1 , SHA256 } |
enum | LineFlags : uint16_t { LF_None = 0 , LF_HaveColumns = 1 } |
enum class | CodeViewContainer { ObjectFile , Pdb } |
enum class | cv_error_code { unspecified = 1 , insufficient_buffer , operation_unsupported , corrupt_record , no_records , unknown_member_record } |
enum class | ContinuationRecordKind { FieldList , MethodOverloadList } |
enum | VisitorDataSource { VDS_BytesPresent , VDS_BytesExternal } |
enum class | InlineeLinesSignature : uint32_t { Normal , ExtraFiles } |
enum | : unsigned { MaxRecordLength = 0xFF00 } |
Limit on the size of all codeview symbol and type records, including the RecordPrefix. More... | |
enum | : uint16_t { MaxDefRange = 0xf000 } |
enum class | GlobalTypeHashAlg : uint16_t { SHA1 = 0 , SHA1_8 , BLAKE3 } |
enum class | SimpleTypeKind : uint32_t { None = 0x0000 , Void = 0x0003 , NotTranslated = 0x0007 , HResult = 0x0008 , SignedCharacter = 0x0010 , UnsignedCharacter = 0x0020 , NarrowCharacter = 0x0070 , WideCharacter = 0x0071 , Character16 = 0x007a , Character32 = 0x007b , Character8 = 0x007c , SByte = 0x0068 , Byte = 0x0069 , Int16Short = 0x0011 , UInt16Short = 0x0021 , Int16 = 0x0072 , UInt16 = 0x0073 , Int32Long = 0x0012 , UInt32Long = 0x0022 , Int32 = 0x0074 , UInt32 = 0x0075 , Int64Quad = 0x0013 , UInt64Quad = 0x0023 , Int64 = 0x0076 , UInt64 = 0x0077 , Int128Oct = 0x0014 , UInt128Oct = 0x0024 , Int128 = 0x0078 , UInt128 = 0x0079 , Float16 = 0x0046 , Float32 = 0x0040 , Float32PartialPrecision = 0x0045 , Float48 = 0x0044 , Float64 = 0x0041 , Float80 = 0x0042 , Float128 = 0x0043 , Complex16 = 0x0056 , Complex32 = 0x0050 , Complex32PartialPrecision = 0x0055 , Complex48 = 0x0054 , Complex64 = 0x0051 , Complex80 = 0x0052 , Complex128 = 0x0053 , Boolean8 = 0x0030 , Boolean16 = 0x0031 , Boolean32 = 0x0032 , Boolean64 = 0x0033 , Boolean128 = 0x0034 } |
enum class | SimpleTypeMode : uint32_t { Direct = 0x00000000 , NearPointer = 0x00000100 , FarPointer = 0x00000200 , HugePointer = 0x00000300 , NearPointer32 = 0x00000400 , FarPointer32 = 0x00000500 , NearPointer64 = 0x00000600 , NearPointer128 = 0x00000700 } |
enum class | TiRefKind { TypeRef , IndexRef } |
using llvm::codeview::CVSymbol = typedef CVRecord<SymbolKind> |
Definition at line 65 of file CVRecord.h.
using llvm::codeview::CVSymbolArray = typedef VarStreamArray<CVSymbol> |
Definition at line 126 of file CVRecord.h.
using llvm::codeview::CVType = typedef CVRecord<TypeLeafKind> |
Definition at line 64 of file CVRecord.h.
using llvm::codeview::CVTypeArray = typedef VarStreamArray<CVType> |
Definition at line 127 of file CVRecord.h.
using llvm::codeview::CVTypeRange = typedef iterator_range<CVTypeArray::Iterator> |
Definition at line 128 of file CVRecord.h.
using llvm::codeview::DebugSubsectionArray = typedef VarStreamArray<DebugSubsectionRecord> |
Definition at line 89 of file DebugSubsectionRecord.h.
anonymous enum : uint32_t |
Enumerator | |
---|---|
SubsectionIgnoreFlag |
Definition at line 310 of file CodeView.h.
anonymous enum : unsigned |
Limit on the size of all codeview symbol and type records, including the RecordPrefix.
MSVC does not emit any records larger than this.
Enumerator | |
---|---|
MaxRecordLength |
Definition at line 30 of file RecordSerialization.h.
anonymous enum : uint16_t |
Enumerator | |
---|---|
MaxDefRange |
Definition at line 433 of file SymbolRecord.h.
|
strong |
Definition at line 493 of file CodeView.h.
|
strong |
These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx.
Definition at line 175 of file CodeView.h.
|
strong |
Definition at line 203 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
ObjectFile | |
Pdb |
Definition at line 609 of file CodeView.h.
|
strong |
Corresponds to COMPILESYM2::Flags bitfield.
Enumerator | |
---|---|
None | |
SourceLanguageMask | |
EC | |
NoDbgInfo | |
LTCG | |
NoDataAlign | |
ManagedPresent | |
SecurityChecks | |
HotPatch | |
CVTCIL | |
MSILModule |
Definition at line 447 of file CodeView.h.
|
strong |
Corresponds to COMPILESYM3::Flags bitfield.
Enumerator | |
---|---|
None | |
SourceLanguageMask | |
EC | |
NoDbgInfo | |
LTCG | |
NoDataAlign | |
ManagedPresent | |
SecurityChecks | |
HotPatch | |
CVTCIL | |
MSILModule | |
Sdl | |
PGO | |
Exp |
Definition at line 463 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
FieldList | |
MethodOverloadList |
Definition at line 24 of file ContinuationRecordBuilder.h.
|
strong |
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx.
Definition at line 75 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
unspecified | |
insufficient_buffer | |
operation_unsupported | |
corrupt_record | |
no_records | |
unknown_member_record |
Definition at line 16 of file CodeViewError.h.
|
strong |
Definition at line 312 of file CodeView.h.
|
strong |
Two-bit value indicating which register is the designated frame pointer register.
Appears in the S_FRAMEPROC record flags.
Enumerator | |
---|---|
None | |
StackPtr | |
FramePtr | |
BasePtr |
Definition at line 541 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
IsConstant | |
IsData | |
IsPrivate | |
HasNoName | |
HasExplicitOrdinal | |
IsForwarder |
Definition at line 481 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
MD5 | |
SHA1 | |
SHA256 |
Definition at line 566 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Copy | |
XorStackPointer | |
XorFramePointer | |
XorR13 |
Definition at line 511 of file CodeView.h.
|
strong |
Definition at line 220 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
CxxReturnUdt | |
Constructor | |
ConstructorWithVirtualBases |
Definition at line 246 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
SHA1 | |
SHA1_8 | |
BLAKE3 |
Definition at line 62 of file TypeHashing.h.
|
strong |
Enumerator | |
---|---|
None | |
Float | |
Double | |
Other |
Definition at line 254 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Normal | |
ExtraFiles |
Definition at line 30 of file DebugInlineeLinesSubsection.h.
|
strong |
Enumerator | |
---|---|
LF_None | |
LF_HaveColumns |
Definition at line 568 of file CodeView.h.
|
strong |
Corresponds to CV_LVARFLAGS bitfield.
Enumerator | |
---|---|
None | |
IsParameter | |
IsAddressTaken | |
IsCompilerGenerated | |
IsAggregate | |
IsAggregated | |
IsAliased | |
IsAlias | |
IsReturnValue | |
IsOptimizedOut | |
IsEnregisteredGlobal | |
IsEnregisteredStatic |
Definition at line 406 of file CodeView.h.
|
strong |
Source-level access specifier. (CV_access_e)
Enumerator | |
---|---|
None | |
Private | |
Protected | |
Public |
Definition at line 262 of file CodeView.h.
|
strong |
Part of member attribute flags. (CV_methodprop_e)
Enumerator | |
---|---|
Vanilla | |
Virtual | |
Static | |
Friend | |
IntroducingVirtual | |
PureVirtual | |
PureIntroducingVirtual |
Definition at line 270 of file CodeView.h.
|
strong |
Equivalent to CV_fldattr_t bitfield.
Enumerator | |
---|---|
None | |
AccessMask | |
MethodKindMask | |
Pseudo | |
NoInherit | |
NoConstruct | |
CompilerGenerated | |
Sealed |
Definition at line 281 of file CodeView.h.
|
strong |
Equivalent to CV_modifier_t.
TODO: Add flag for _Atomic modifier
Enumerator | |
---|---|
None | |
Const | |
Volatile | |
Unaligned |
Definition at line 301 of file CodeView.h.
|
strong |
Equivalent to CV_ptrtype_e.
Enumerator | |
---|---|
Near16 | |
Far16 | |
Huge16 | |
BasedOnSegment | |
BasedOnValue | |
BasedOnSegmentValue | |
BasedOnAddress | |
BasedOnSegmentAddress | |
BasedOnType | |
BasedOnSelf | |
Near32 | |
Far32 | |
Near64 |
Definition at line 336 of file CodeView.h.
|
strong |
Equivalent to CV_ptrmode_e.
Enumerator | |
---|---|
Pointer | |
LValueReference | |
PointerToDataMember | |
PointerToMemberFunction | |
RValueReference |
Definition at line 353 of file CodeView.h.
|
strong |
Equivalent to misc lfPointerAttr bitfields.
Enumerator | |
---|---|
None | |
Flat32 | |
Volatile | |
Const | |
Unaligned | |
Restrict | |
WinRTSmartPointer | |
LValueRefThisPointer | |
RValueRefThisPointer |
Definition at line 362 of file CodeView.h.
|
strong |
Equivalent to CV_pmtype_e.
Enumerator | |
---|---|
Unknown | |
SingleInheritanceData | |
MultipleInheritanceData | |
VirtualInheritanceData | |
GeneralData | |
SingleInheritanceFunction | |
MultipleInheritanceFunction | |
VirtualInheritanceFunction | |
GeneralFunction |
Definition at line 376 of file CodeView.h.
|
strong |
Corresponds to the CV_PROCFLAGS bitfield.
Enumerator | |
---|---|
None | |
HasFP | |
HasIRET | |
HasFRET | |
IsNoReturn | |
IsUnreachable | |
HasCustomCallingConv | |
IsNoInline | |
HasOptimizedDebugInfo |
Definition at line 433 of file CodeView.h.
|
strong |
Corresponds to the CV_PUBSYMFLAGS bitfield.
Enumerator | |
---|---|
None | |
Code | |
Function | |
Managed | |
MSIL |
Definition at line 423 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
CV_REGISTERS_ALL | |
CV_REGISTER |
Definition at line 519 of file CodeView.h.
|
strong |
Definition at line 26 of file TypeIndex.h.
|
strong |
Enumerator | |
---|---|
Direct | |
NearPointer | |
FarPointer | |
HugePointer | |
NearPointer32 | |
FarPointer32 | |
NearPointer64 | |
NearPointer128 |
Definition at line 82 of file TypeIndex.h.
enum llvm::codeview::SourceLanguage : uint8_t |
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
Definition at line 143 of file CodeView.h.
Duplicate copy of the above enum, but using the official CV names.
Useful for reference purposes and when dealing with unknown record types.
Definition at line 47 of file CodeView.h.
|
strong |
Distinguishes individual records in the Symbols subsection of a .debug$S section.
Equivalent to SYM_ENUM_e in cvinfo.h.
Enumerator | |
---|---|
SYMBOL_RECORD |
Definition at line 40 of file CodeView.h.
|
strong |
These values correspond to the THUNK_ORDINAL enumeration.
Enumerator | |
---|---|
Standard | |
ThisAdjustor | |
Vcall | |
Pcode | |
UnknownLoad | |
TrampIncremental | |
BranchIsland |
Definition at line 553 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
TypeRef | |
IndexRef |
Definition at line 19 of file TypeIndexDiscovery.h.
|
strong |
Enumerator | |
---|---|
TrampIncremental | |
BranchIsland |
Definition at line 563 of file CodeView.h.
Duplicate copy of the above enum, but using the official CV names.
Useful for reference purposes and when dealing with unknown record types.
Definition at line 33 of file CodeView.h.
|
strong |
Distinguishes individual records in .debug$T or .debug$P section or PDB type stream.
The documentation and headers talk about this as the "leaf" type.
Enumerator | |
---|---|
TYPE_RECORD |
Definition at line 26 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Near16 | |
Far16 | |
This | |
Outer | |
Meta | |
Near | |
Far |
Definition at line 388 of file CodeView.h.
Enumerator | |
---|---|
VDS_BytesPresent | |
VDS_BytesExternal |
Definition at line 24 of file CVTypeVisitor.h.
|
strong |
Enumerator | |
---|---|
None | |
RefClass | |
ValueClass | |
Interface |
Definition at line 398 of file CodeView.h.
|
inline |
Definition at line 611 of file CodeView.h.
References ObjectFile.
Referenced by llvm::pdb::DbiModuleDescriptorBuilder::addSymbolsInBulk(), llvm::pdb::DbiModuleDescriptorBuilder::addUnmergedSymbols(), llvm::codeview::DebugSubsectionRecordBuilder::commit(), llvm::pdb::DbiModuleDescriptorBuilder::commitSymbolStream(), and llvm::codeview::SymbolRecordMapping::visitSymbolEnd().
std::string llvm::codeview::computeTypeName | ( | TypeCollection & | Types, |
TypeIndex | Index | ||
) |
Definition at line 254 of file RecordName.cpp.
References llvm::consumeError(), EC, and visitTypeRecord().
Referenced by llvm::pdb::TpiStream::findRecordsByName(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), and llvm::codeview::TypeTableCollection::getTypeName().
|
inline |
Definition at line 45 of file RecordSerialization.h.
References llvm::Error::success().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
APSInt & | Num | ||
) |
Decodes a numeric "leaf" value.
These are integer literals encountered in the type stream. If the value is positive and less than LF_NUMERIC (1 << 15), it is emitted directly in Data. Otherwise, it has a tag like LF_CHAR that indicates the bitwidth and sign of the numeric data.
Definition at line 36 of file RecordSerialization.cpp.
References EC, N, llvm::BinaryStreamReader::readInteger(), and llvm::Error::success().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
const serialize_array_impl< T, U > & | Item | ||
) |
Definition at line 191 of file RecordSerialization.h.
References llvm::codeview::serialize_array_impl< T, U >::deserialize().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
const serialize_arrayref_tail_impl< T > & | Item | ||
) |
Definition at line 208 of file RecordSerialization.h.
References llvm::codeview::serialize_arrayref_tail_impl< T >::deserialize().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
const serialize_conditional_impl< T, U > & | Item | ||
) |
Definition at line 185 of file RecordSerialization.h.
References llvm::codeview::serialize_conditional_impl< T, U >::deserialize().
|
inline |
Definition at line 196 of file RecordSerialization.h.
References llvm::codeview::serialize_null_term_string_array_impl::deserialize().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
const serialize_numeric_impl< T > & | Item | ||
) |
Definition at line 214 of file RecordSerialization.h.
References llvm::codeview::serialize_numeric_impl< T >::deserialize().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
const serialize_vector_tail_impl< T > & | Item | ||
) |
Definition at line 202 of file RecordSerialization.h.
References llvm::codeview::serialize_vector_tail_impl< T >::deserialize().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
int32_t & | Item | ||
) |
Definition at line 139 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::readInteger().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
StringRef & | Item | ||
) |
Decodes a null terminated string.
Definition at line 143 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::empty(), and llvm::BinaryStreamReader::readCString().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
T && | X, | ||
U && | Y, | ||
Args &&... | Rest | ||
) |
Definition at line 220 of file RecordSerialization.h.
References llvm::consume, EC, X, and Y.
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
T *& | Item | ||
) |
Decodes an arbitrary object whose layout matches that of the underlying byte sequence, and returns a pointer to the object.
Definition at line 68 of file RecordSerialization.h.
References llvm::BinaryStreamReader::readObject().
Error llvm::codeview::consume | ( | BinaryStreamReader & | Reader, |
uint32_t & | Item | ||
) |
Decodes signed and unsigned fixed-length integers.
Definition at line 126 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::readInteger().
Definition at line 104 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::bytesRemaining(), llvm::consume, llvm::Data, EC, and llvm::support::little.
Definition at line 130 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::bytesRemaining(), llvm::consume, llvm::Data, EC, and llvm::support::little.
Error llvm::codeview::consume_numeric | ( | BinaryStreamReader & | Reader, |
uint64_t & | Value | ||
) |
Decodes a numeric leaf value that is known to be a particular type.
Decode a numeric leaf value that is known to be a uint64_t.
Definition at line 114 of file RecordSerialization.cpp.
References llvm::consume, EC, N, and llvm::Error::success().
Referenced by llvm::codeview::serialize_numeric_impl< T >::deserialize().
const std::error_category & llvm::codeview::CVErrorCategory | ( | ) |
Definition at line 44 of file CodeViewError.cpp.
Referenced by make_error_code().
RegisterId llvm::codeview::decodeFramePtrReg | ( | EncodedFramePtrReg | EncodedReg, |
CPUType | CPU | ||
) |
Definition at line 486 of file SymbolRecordMapping.cpp.
References assert(), BasePtr, FramePtr, Intel80286, Intel80386, Intel80486, Intel8080, Intel8086, llvm_unreachable, None, Pentium, Pentium3, PentiumPro, StackPtr, and X64.
Referenced by llvm::codeview::FrameProcSym::getLocalFramePtrReg(), and llvm::codeview::FrameProcSym::getParamFramePtrReg().
void llvm::codeview::discoverTypeIndices | ( | ArrayRef< uint8_t > | RecordData, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Definition at line 493 of file TypeIndexDiscovery.cpp.
References llvm::ArrayRef< T >::data(), discoverTypeIndices(), llvm::ArrayRef< T >::drop_front(), and P.
Referenced by getModifiedType(), and llvm::codeview::GloballyHashedType::hashType().
void llvm::codeview::discoverTypeIndices | ( | ArrayRef< uint8_t > | RecordData, |
SmallVectorImpl< TypeIndex > & | Indices | ||
) |
Definition at line 486 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices(), and resolveTypeIndexReferences().
void llvm::codeview::discoverTypeIndices | ( | const CVType & | Type, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Definition at line 457 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices().
void llvm::codeview::discoverTypeIndices | ( | const CVType & | Type, |
SmallVectorImpl< TypeIndex > & | Indices | ||
) |
Definition at line 481 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices().
bool llvm::codeview::discoverTypeIndicesInSymbol | ( | ArrayRef< uint8_t > | RecordData, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Definition at line 507 of file TypeIndexDiscovery.cpp.
References llvm::ArrayRef< T >::data(), llvm::ArrayRef< T >::drop_front(), and P.
bool llvm::codeview::discoverTypeIndicesInSymbol | ( | ArrayRef< uint8_t > | RecordData, |
SmallVectorImpl< TypeIndex > & | Indices | ||
) |
Definition at line 516 of file TypeIndexDiscovery.cpp.
References discoverTypeIndicesInSymbol(), and resolveTypeIndexReferences().
bool llvm::codeview::discoverTypeIndicesInSymbol | ( | const CVSymbol & | Symbol, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Discover type indices in symbol records.
Returns false if this is an unknown record.
Definition at line 501 of file TypeIndexDiscovery.cpp.
References llvm::codeview::CVRecord< Kind >::content(), and llvm::codeview::CVRecord< Kind >::kind().
Referenced by discoverTypeIndicesInSymbol().
EncodedFramePtrReg llvm::codeview::encodeFramePtrReg | ( | RegisterId | Reg, |
CPUType | CPU | ||
) |
Definition at line 520 of file SymbolRecordMapping.cpp.
References BasePtr, FramePtr, Intel80286, Intel80386, Intel80486, Intel8080, Intel8086, None, Pentium, Pentium3, PentiumPro, StackPtr, and X64.
|
inline |
Definition at line 45 of file Formatters.h.
|
inline |
Definition at line 41 of file Formatters.h.
Error llvm::codeview::forEachCodeViewRecord | ( | ArrayRef< uint8_t > | StreamBuffer, |
Func | F | ||
) |
Definition at line 68 of file CVRecord.h.
References corrupt_record, llvm::ArrayRef< T >::data(), llvm::Data, llvm::ArrayRef< T >::drop_front(), EC, llvm::ArrayRef< T >::empty(), F, llvm::ArrayRef< T >::size(), llvm::Error::success(), and llvm::ArrayRef< T >::take_front().
Reinterpret a byte array as an array of characters.
Does not interpret as a C string, as StringRef has several helpers (split) that make that easy.
Definition at line 27 of file RecordSerialization.cpp.
References llvm::ArrayRef< T >::data(), and llvm::ArrayRef< T >::size().
Referenced by getBytesAsCString(), llvm::codeview::TypeDumpVisitor::visitMemberEnd(), and llvm::codeview::TypeDumpVisitor::visitTypeEnd().
Definition at line 32 of file RecordSerialization.cpp.
References getBytesAsCharacters(), and llvm::StringRef::split().
Definition at line 549 of file EnumTables.cpp.
References CallingConventions.
Definition at line 517 of file EnumTables.cpp.
References ClassOptionNames.
Definition at line 476 of file EnumTables.cpp.
References CompileSym2FlagNames.
Definition at line 480 of file EnumTables.cpp.
References CompileSym3FlagNames.
Definition at line 488 of file EnumTables.cpp.
References CPUTypeNames.
Definition at line 496 of file EnumTables.cpp.
References ExportSymFlagNames.
Definition at line 484 of file EnumTables.cpp.
References FileChecksumNames.
Definition at line 468 of file EnumTables.cpp.
References FrameCookieKinds.
Definition at line 492 of file EnumTables.cpp.
References FrameProcSymFlagNames.
Definition at line 553 of file EnumTables.cpp.
References FunctionOptionEnum.
ArrayRef< EnumEntry< COFF::SectionCharacteristics > > llvm::codeview::getImageSectionCharacteristicNames | ( | ) |
Definition at line 513 of file EnumTables.cpp.
References ImageSectionCharacteristicNames.
Definition at line 557 of file EnumTables.cpp.
References LabelTypeEnum.
Definition at line 464 of file EnumTables.cpp.
References LocalFlags.
Definition at line 521 of file EnumTables.cpp.
References MemberAccessNames.
Definition at line 529 of file EnumTables.cpp.
References MemberKindNames.
Definition at line 525 of file EnumTables.cpp.
References MethodOptionNames.
Given a CVType which is assumed to be an LF_MODIFIER, return the TypeIndex of the type that the LF_MODIFIER modifies.
Definition at line 47 of file TypeRecordHelpers.cpp.
References assert(), discoverTypeIndices(), llvm::SmallVectorTemplateCommon< T, typename >::front(), and llvm::codeview::CVRecord< Kind >::kind().
Referenced by llvm::pdb::NativeEnumTypes::NativeEnumTypes().
Definition at line 500 of file EnumTables.cpp.
References ModuleSubstreamKindNames.
Definition at line 460 of file EnumTables.cpp.
References ProcSymFlagNames.
Definition at line 533 of file EnumTables.cpp.
References PtrKindNames.
Definition at line 541 of file EnumTables.cpp.
References PtrMemberRepNames.
Definition at line 537 of file EnumTables.cpp.
References PtrModeNames.
Definition at line 456 of file EnumTables.cpp.
References PublicSymFlagNames.
Definition at line 447 of file EnumTables.cpp.
References ARM64, ARMNT, RegisterNames_ARM, RegisterNames_ARM64, and RegisterNames_X86.
Given a symbol P for which symbolOpensScope(P) == true, return the corresponding end offset.
Definition at line 23 of file SymbolRecordHelpers.cpp.
References assert(), llvm::codeview::ProcSym::End, llvm::codeview::InlineSiteSym::End, llvm::codeview::CVRecord< Kind >::kind(), and symbolOpensScope().
Referenced by limitSymbolArrayToScope(), and llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered().
Definition at line 54 of file SymbolRecordHelpers.cpp.
References assert(), llvm::codeview::CVRecord< Kind >::kind(), llvm::codeview::ProcSym::Parent, llvm::codeview::InlineSiteSym::Parent, and symbolOpensScope().
Given an arbitrary codeview type index, determine its size.
Definition at line 54 of file TypeRecordHelpers.cpp.
References assert(), llvm::codeview::TypeIndex::getSimpleKind(), llvm::codeview::TypeIndex::getSimpleMode(), and llvm::codeview::TypeIndex::isSimple().
Given an arbitrary codeview type, return the type's size in the case of aggregate (LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION).
Definition at line 171 of file TypeRecordHelpers.cpp.
References llvm::codeview::CVRecord< Kind >::kind(), and llvm::codeview::CVRecord< Kind >::length().
ArrayRef< EnumEntry< SourceLanguage > > llvm::codeview::getSourceLanguageNames | ( | ) |
Definition at line 472 of file EnumTables.cpp.
References SourceLanguages.
Definition at line 323 of file RecordName.cpp.
References llvm::cantFail(), Const, llvm::codeview::CVRecord< Kind >::content(), llvm::StringRef::drop_front(), getSymbolNameOffset(), llvm::codeview::CVRecord< Kind >::kind(), llvm::support::little, llvm::Offset, llvm::StringRef::split(), llvm::dwarf::toStringRef(), llvm::codeview::SymbolRecordMapping::visitSymbolBegin(), and llvm::codeview::SymbolRecordMapping::visitSymbolEnd().
Referenced by llvm::pdb::GlobalsStream::findRecordsByName().
ArrayRef< EnumEntry< SymbolKind > > llvm::codeview::getSymbolTypeNames | ( | ) |
Definition at line 439 of file EnumTables.cpp.
References SymbolTypeNames.
Referenced by getSymbolName().
Definition at line 504 of file EnumTables.cpp.
References ThunkOrdinalNames.
Definition at line 508 of file EnumTables.cpp.
References TrampolineNames.
ArrayRef< EnumEntry< TypeLeafKind > > llvm::codeview::getTypeLeafNames | ( | ) |
Definition at line 443 of file EnumTables.cpp.
References TypeLeafNames.
Definition at line 545 of file EnumTables.cpp.
References TypeModifierNames.
Given an arbitrary codeview type, determine if it is an LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION.
Definition at line 46 of file TypeRecordHelpers.h.
References llvm::codeview::CVRecord< Kind >::kind().
|
inline |
Return true if this record should be in the IPI stream of a PDB.
In an object file, these record kinds will appear mixed into the .debug$T section.
Definition at line 29 of file TypeRecordHelpers.h.
Given an arbitrary codeview type, determine if it is an LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION, or LF_ENUM with the forward ref class option.
Definition at line 27 of file TypeRecordHelpers.cpp.
References llvm::codeview::CVRecord< Kind >::kind().
Referenced by llvm::pdb::TpiStream::findFullDeclForForwardRef(), llvm::pdb::SymbolCache::findSymbolByTypeIndex(), and llvm::pdb::NativeEnumTypes::NativeEnumTypes().
CVSymbolArray llvm::codeview::limitSymbolArrayToScope | ( | const CVSymbolArray & | Symbols, |
uint32_t | ScopeBegin | ||
) |
Definition at line 85 of file SymbolRecordHelpers.cpp.
References assert(), getScopeEndOffset(), llvm::codeview::CVRecord< Kind >::kind(), llvm::codeview::CVRecord< Kind >::RecordData, llvm::ArrayRef< T >::size(), and symbolOpensScope().
Referenced by llvm::pdb::ModuleDebugStreamRef::getSymbolArrayForScope().
|
inline |
Definition at line 36 of file CodeViewError.h.
References CVErrorCategory(), and E.
Error llvm::codeview::mergeIdRecords | ( | GlobalTypeTableBuilder & | Dest, |
ArrayRef< TypeIndex > | Types, | ||
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | Ids, | ||
ArrayRef< GloballyHashedType > | Hashes | ||
) |
Definition at line 471 of file TypeStreamMerger.cpp.
Error llvm::codeview::mergeIdRecords | ( | MergingTypeTableBuilder & | Dest, |
ArrayRef< TypeIndex > | Types, | ||
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | Ids | ||
) |
Merge one set of id records into another.
This method assumes that all records are id records, and there are no Type records present. However, since Id records can refer back to Type records, this method assumes that the referenced type records have also been merged into another type stream (for example using the above method), and accepts the mapping from source to dest for that stream so that it can re-write the type record mappings accordingly.
Dest | The table to store the re-written id records into. |
Types | The mapping to use for the type records that these id records refer to. |
SourceToDest | A vector, indexed by the TypeIndex in the source id stream, that contains the index of the corresponding id record in the destination stream. |
Ids | The collection of id records to merge in. |
Definition at line 437 of file TypeStreamMerger.cpp.
Error llvm::codeview::mergeTypeAndIdRecords | ( | GlobalTypeTableBuilder & | DestIds, |
GlobalTypeTableBuilder & | DestTypes, | ||
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | IdsAndTypes, | ||
ArrayRef< GloballyHashedType > | Hashes, | ||
std::optional< PCHMergerInfo > & | PCHInfo | ||
) |
Definition at line 453 of file TypeStreamMerger.cpp.
Error llvm::codeview::mergeTypeAndIdRecords | ( | MergingTypeTableBuilder & | DestIds, |
MergingTypeTableBuilder & | DestTypes, | ||
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | IdsAndTypes, | ||
std::optional< PCHMergerInfo > & | PCHInfo | ||
) |
Merge a unified set of type and id records, splitting them into separate output streams.
DestIds | The table to store the re-written id records into. |
DestTypes | the table to store the re-written type records into. |
SourceToDest | A vector, indexed by the TypeIndex in the source id stream, that contains the index of the corresponding id record in the destination stream. |
IdsAndTypes | The collection of id records to merge in. |
Definition at line 445 of file TypeStreamMerger.cpp.
Error llvm::codeview::mergeTypeRecords | ( | GlobalTypeTableBuilder & | Dest, |
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | Types, | ||
ArrayRef< GloballyHashedType > | Hashes, | ||
std::optional< PCHMergerInfo > & | PCHInfo | ||
) |
Definition at line 462 of file TypeStreamMerger.cpp.
Error llvm::codeview::mergeTypeRecords | ( | MergingTypeTableBuilder & | Dest, |
SmallVectorImpl< TypeIndex > & | SourceToDest, | ||
const CVTypeArray & | Types | ||
) |
Merge one set of type records into another.
This method assumes that all records are type records, and there are no Id records present.
Dest | The table to store the re-written type records into. |
SourceToDest | A vector, indexed by the TypeIndex in the source type stream, that contains the index of the corresponding type record in the destination stream. |
Types | The collection of types to merge in. |
Definition at line 430 of file TypeStreamMerger.cpp.
|
inline |
Definition at line 33 of file FunctionId.h.
|
inline |
Definition at line 37 of file FunctionId.h.
raw_ostream & llvm::codeview::operator<< | ( | raw_ostream & | OS, |
const GUID & | Guid | ||
) |
Definition at line 57 of file Formatters.cpp.
References A, and llvm::codeview::GUID::Guid.
|
inline |
Definition at line 41 of file FunctionId.h.
|
inline |
Definition at line 29 of file FunctionId.h.
|
inline |
Definition at line 45 of file FunctionId.h.
|
inline |
Definition at line 49 of file FunctionId.h.
void llvm::codeview::printTypeIndex | ( | ScopedPrinter & | Printer, |
StringRef | FieldName, | ||
TypeIndex | TI, | ||
TypeCollection & | Types | ||
) |
Definition at line 93 of file TypeIndex.cpp.
References llvm::codeview::TypeIndex::getIndex(), llvm::codeview::TypeIndex::isNoneType(), llvm::codeview::TypeIndex::isSimple(), Printer, and llvm::codeview::TypeIndex::simpleTypeName().
Referenced by llvm::codeview::TypeDumpVisitor::printItemIndex(), and llvm::codeview::TypeDumpVisitor::printTypeIndex().
|
inline |
Read a complete record from a stream at a random offset.
Definition at line 92 of file CVRecord.h.
References corrupt_record, EC, llvm::Offset, llvm::BinaryStreamReader::readBytes(), llvm::BinaryStreamReader::readObject(), and llvm::BinaryStreamReader::setOffset().
Expected< CVSymbol > llvm::codeview::readSymbolFromStream | ( | BinaryStreamRef | Stream, |
uint32_t | Offset | ||
) |
Definition at line 151 of file RecordSerialization.cpp.
References llvm::Offset.
serialize_array_impl< T, U > llvm::codeview::serialize_array | ( | ArrayRef< T > & | Item, |
U | Func | ||
) |
Definition at line 161 of file RecordSerialization.h.
serialize_arrayref_tail_impl< T > llvm::codeview::serialize_array_tail | ( | ArrayRef< T > & | Item | ) |
Definition at line 176 of file RecordSerialization.h.
serialize_vector_tail_impl< T > llvm::codeview::serialize_array_tail | ( | std::vector< T > & | Item | ) |
Definition at line 171 of file RecordSerialization.h.
serialize_conditional_impl< T, U > llvm::codeview::serialize_conditional | ( | T & | Item, |
U | Func | ||
) |
Definition at line 86 of file RecordSerialization.h.
|
inline |
Definition at line 166 of file RecordSerialization.h.
serialize_numeric_impl< T > llvm::codeview::serialize_numeric | ( | T & | Item | ) |
Definition at line 180 of file RecordSerialization.h.
|
inline |
Return true if this ssymbol ends a scope.
Definition at line 39 of file SymbolRecordHelpers.h.
Referenced by llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered().
|
inline |
Return true if this symbol opens a scope.
This implies that the symbol has "parent" and "end" fields, which contain the offset of the S_END or S_INLINESITE_END record.
Definition at line 20 of file SymbolRecordHelpers.h.
Referenced by getScopeEndOffset(), getScopeParentOffset(), limitSymbolArrayToScope(), and llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered().
Error llvm::codeview::visitDebugSubsection | ( | const DebugSubsectionRecord & | R, |
DebugSubsectionVisitor & | V, | ||
const StringsAndChecksumsRef & | State | ||
) |
Definition at line 29 of file DebugSubsectionVisitor.cpp.
References EC, llvm::codeview::DebugChecksumsSubsectionRef::initialize(), llvm::codeview::DebugInlineeLinesSubsectionRef::initialize(), llvm::codeview::DebugLinesSubsectionRef::initialize(), llvm::codeview::DebugSubsectionVisitor::visitCOFFSymbolRVAs(), llvm::codeview::DebugSubsectionVisitor::visitCrossModuleExports(), llvm::codeview::DebugSubsectionVisitor::visitCrossModuleImports(), llvm::codeview::DebugSubsectionVisitor::visitFileChecksums(), llvm::codeview::DebugSubsectionVisitor::visitFrameData(), llvm::codeview::DebugSubsectionVisitor::visitInlineeLines(), llvm::codeview::DebugSubsectionVisitor::visitLines(), llvm::codeview::DebugSubsectionVisitor::visitStringTable(), llvm::codeview::DebugSubsectionVisitor::visitSymbols(), and llvm::codeview::DebugSubsectionVisitor::visitUnknown().
Referenced by llvm::CodeViewYAML::YAMLDebugSubsection::fromCodeViewSubection(), and llvm::codeview::detail::visitDebugSubsections().
Error llvm::codeview::visitDebugSubsections | ( | T && | FragmentRange, |
DebugSubsectionVisitor & | V | ||
) |
Definition at line 82 of file DebugSubsectionVisitor.h.
References llvm::codeview::detail::visitDebugSubsections().
Error llvm::codeview::visitDebugSubsections | ( | T && | FragmentRange, |
DebugSubsectionVisitor & | V, | ||
const DebugStringTableSubsectionRef & | Strings | ||
) |
Definition at line 89 of file DebugSubsectionVisitor.h.
References llvm::codeview::detail::visitDebugSubsections().
Error llvm::codeview::visitDebugSubsections | ( | T && | FragmentRange, |
DebugSubsectionVisitor & | V, | ||
const DebugStringTableSubsectionRef & | Strings, | ||
const DebugChecksumsSubsectionRef & | Checksums | ||
) |
Definition at line 97 of file DebugSubsectionVisitor.h.
References llvm::codeview::detail::visitDebugSubsections().
Error llvm::codeview::visitMemberRecord | ( | CVMemberRecord | Record, |
TypeVisitorCallbacks & | Callbacks, | ||
VisitorDataSource | Source = VDS_BytesPresent |
||
) |
Definition at line 255 of file CVTypeVisitor.cpp.
Error llvm::codeview::visitMemberRecord | ( | TypeLeafKind | Kind, |
ArrayRef< uint8_t > | Record, | ||
TypeVisitorCallbacks & | Callbacks | ||
) |
Definition at line 262 of file CVTypeVisitor.cpp.
References VDS_BytesPresent, and visitMemberRecord().
Error llvm::codeview::visitMemberRecordStream | ( | ArrayRef< uint8_t > | FieldList, |
TypeVisitorCallbacks & | Callbacks | ||
) |
Definition at line 271 of file CVTypeVisitor.cpp.
References FieldList, and VDS_BytesPresent.
Error llvm::codeview::visitTypeRecord | ( | CVType & | Record, |
TypeIndex | Index, | ||
TypeVisitorCallbacks & | Callbacks, | ||
VisitorDataSource | Source = VDS_BytesPresent |
||
) |
Definition at line 219 of file CVTypeVisitor.cpp.
Referenced by computeTypeName().
Error llvm::codeview::visitTypeRecord | ( | CVType & | Record, |
TypeVisitorCallbacks & | Callbacks, | ||
VisitorDataSource | Source = VDS_BytesPresent |
||
) |
Definition at line 226 of file CVTypeVisitor.cpp.
Error llvm::codeview::visitTypeStream | ( | const CVTypeArray & | Types, |
TypeVisitorCallbacks & | Callbacks, | ||
VisitorDataSource | Source = VDS_BytesPresent |
||
) |
Definition at line 233 of file CVTypeVisitor.cpp.
Error llvm::codeview::visitTypeStream | ( | CVTypeRange | Types, |
TypeVisitorCallbacks & | Callbacks | ||
) |
Definition at line 240 of file CVTypeVisitor.cpp.
References VDS_BytesPresent.
Error llvm::codeview::visitTypeStream | ( | TypeCollection & | Types, |
TypeVisitorCallbacks & | Callbacks | ||
) |
Definition at line 246 of file CVTypeVisitor.cpp.
References VDS_BytesPresent.