LLVM 20.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 , Unknown = 0xff , 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 , ObjC = 0x11 , ObjCpp = 0x12 , Swift = 0x13 , AliasObj = 0x14 , Rust = 0x15 , Go = 0x16 , D = 'D' , OldSwift = 'S' } |
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK, and are documented here: https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang. 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 , Swift = 0x19 } |
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 | JumpTableEntrySize : uint16_t { Int8 = 0 , UInt8 = 1 , Int16 = 2 , UInt16 = 3 , Int32 = 4 , UInt32 = 5 , Pointer = 6 , UInt8ShiftLeft = 7 , UInt16ShiftLeft = 8 , Int8ShiftLeft = 9 , Int16ShiftLeft = 10 } |
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 320 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 454 of file SymbolRecord.h.
|
strong |
Definition at line 503 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 184 of file CodeView.h.
|
strong |
Definition at line 213 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
ObjectFile | |
Pdb |
Definition at line 619 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 457 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 473 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 76 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 322 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 551 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
IsConstant | |
IsData | |
IsPrivate | |
HasNoName | |
HasExplicitOrdinal | |
IsForwarder |
Definition at line 491 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
MD5 | |
SHA1 | |
SHA256 |
Definition at line 576 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Copy | |
XorStackPointer | |
XorFramePointer | |
XorR13 |
Definition at line 521 of file CodeView.h.
|
strong |
Definition at line 230 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
None | |
CxxReturnUdt | |
Constructor | |
ConstructorWithVirtualBases |
Definition at line 256 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 264 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Normal | |
ExtraFiles |
Definition at line 30 of file DebugInlineeLinesSubsection.h.
|
strong |
Enumerator | |
---|---|
Int8 | |
UInt8 | |
Int16 | |
UInt16 | |
Int32 | |
UInt32 | |
Pointer | |
UInt8ShiftLeft | |
UInt16ShiftLeft | |
Int8ShiftLeft | |
Int16ShiftLeft |
Definition at line 636 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
LF_None | |
LF_HaveColumns |
Definition at line 578 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 416 of file CodeView.h.
|
strong |
Source-level access specifier. (CV_access_e)
Enumerator | |
---|---|
None | |
Private | |
Protected | |
Public |
Definition at line 272 of file CodeView.h.
|
strong |
Part of member attribute flags. (CV_methodprop_e)
Enumerator | |
---|---|
Vanilla | |
Virtual | |
Static | |
Friend | |
IntroducingVirtual | |
PureVirtual | |
PureIntroducingVirtual |
Definition at line 280 of file CodeView.h.
|
strong |
Equivalent to CV_fldattr_t bitfield.
Enumerator | |
---|---|
None | |
AccessMask | |
MethodKindMask | |
Pseudo | |
NoInherit | |
NoConstruct | |
CompilerGenerated | |
Sealed |
Definition at line 291 of file CodeView.h.
|
strong |
Equivalent to CV_modifier_t.
TODO: Add flag for _Atomic modifier
Enumerator | |
---|---|
None | |
Const | |
Volatile | |
Unaligned |
Definition at line 311 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 346 of file CodeView.h.
|
strong |
Equivalent to CV_ptrmode_e.
Enumerator | |
---|---|
Pointer | |
LValueReference | |
PointerToDataMember | |
PointerToMemberFunction | |
RValueReference |
Definition at line 363 of file CodeView.h.
|
strong |
Equivalent to misc lfPointerAttr bitfields.
Enumerator | |
---|---|
None | |
Flat32 | |
Volatile | |
Const | |
Unaligned | |
Restrict | |
WinRTSmartPointer | |
LValueRefThisPointer | |
RValueRefThisPointer |
Definition at line 372 of file CodeView.h.
|
strong |
Equivalent to CV_pmtype_e.
Enumerator | |
---|---|
Unknown | |
SingleInheritanceData | |
MultipleInheritanceData | |
VirtualInheritanceData | |
GeneralData | |
SingleInheritanceFunction | |
MultipleInheritanceFunction | |
VirtualInheritanceFunction | |
GeneralFunction |
Definition at line 386 of file CodeView.h.
|
strong |
Corresponds to the CV_PROCFLAGS bitfield.
Enumerator | |
---|---|
None | |
HasFP | |
HasIRET | |
HasFRET | |
IsNoReturn | |
IsUnreachable | |
HasCustomCallingConv | |
IsNoInline | |
HasOptimizedDebugInfo |
Definition at line 443 of file CodeView.h.
|
strong |
Corresponds to the CV_PUBSYMFLAGS bitfield.
Enumerator | |
---|---|
None | |
Code | |
Function | |
Managed | |
MSIL |
Definition at line 433 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
CV_REGISTERS_ALL | |
CV_REGISTER |
Definition at line 529 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 in the Microsoft Debug Interface Access SDK, and are documented here: https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang.
Definition at line 146 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 48 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 41 of file CodeView.h.
|
strong |
These values correspond to the THUNK_ORDINAL enumeration.
Enumerator | |
---|---|
Standard | |
ThisAdjustor | |
Vcall | |
Pcode | |
UnknownLoad | |
TrampIncremental | |
BranchIsland |
Definition at line 563 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
TypeRef | |
IndexRef |
Definition at line 19 of file TypeIndexDiscovery.h.
|
strong |
Enumerator | |
---|---|
TrampIncremental | |
BranchIsland |
Definition at line 573 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 34 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 27 of file CodeView.h.
|
strong |
Enumerator | |
---|---|
Near16 | |
Far16 | |
This | |
Outer | |
Meta | |
Near | |
Far |
Definition at line 398 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 408 of file CodeView.h.
|
inline |
Definition at line 621 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, EC, and llvm::little.
Definition at line 130 of file RecordSerialization.cpp.
References llvm::BinaryStreamReader::bytesRemaining(), llvm::consume, EC, and llvm::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 499 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 494 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 487 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices(), and resolveTypeIndexReferences().
void llvm::codeview::discoverTypeIndices | ( | const CVType & | Type, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Definition at line 458 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices().
void llvm::codeview::discoverTypeIndices | ( | const CVType & | Type, |
SmallVectorImpl< TypeIndex > & | Indices | ||
) |
Definition at line 482 of file TypeIndexDiscovery.cpp.
References discoverTypeIndices().
bool llvm::codeview::discoverTypeIndicesInSymbol | ( | ArrayRef< uint8_t > | RecordData, |
SmallVectorImpl< TiReference > & | Refs | ||
) |
Definition at line 508 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 517 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 502 of file TypeIndexDiscovery.cpp.
References Sym.
Referenced by discoverTypeIndicesInSymbol().
EncodedFramePtrReg llvm::codeview::encodeFramePtrReg | ( | RegisterId | Reg, |
CPUType | CPU | ||
) |
Definition at line 533 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 568 of file EnumTables.cpp.
References CallingConventions.
Definition at line 536 of file EnumTables.cpp.
References ClassOptionNames.
Definition at line 495 of file EnumTables.cpp.
References CompileSym2FlagNames.
Definition at line 499 of file EnumTables.cpp.
References CompileSym3FlagNames.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 507 of file EnumTables.cpp.
References CPUTypeNames.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 515 of file EnumTables.cpp.
References ExportSymFlagNames.
Definition at line 503 of file EnumTables.cpp.
References FileChecksumNames.
Definition at line 487 of file EnumTables.cpp.
References FrameCookieKinds.
Definition at line 511 of file EnumTables.cpp.
References FrameProcSymFlagNames.
Definition at line 572 of file EnumTables.cpp.
References FunctionOptionEnum.
ArrayRef< EnumEntry< COFF::SectionCharacteristics > > llvm::codeview::getImageSectionCharacteristicNames | ( | ) |
Definition at line 532 of file EnumTables.cpp.
References ImageSectionCharacteristicNames.
Definition at line 580 of file EnumTables.cpp.
References JumpTableEntrySizeNames.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 576 of file EnumTables.cpp.
References LabelTypeEnum.
Definition at line 483 of file EnumTables.cpp.
References LocalFlags.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 540 of file EnumTables.cpp.
References MemberAccessNames.
Definition at line 548 of file EnumTables.cpp.
References MemberKindNames.
Definition at line 544 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(), and llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
Definition at line 519 of file EnumTables.cpp.
References ModuleSubstreamKindNames.
Definition at line 479 of file EnumTables.cpp.
References ProcSymFlagNames.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 552 of file EnumTables.cpp.
References PtrKindNames.
Definition at line 560 of file EnumTables.cpp.
References PtrMemberRepNames.
Definition at line 556 of file EnumTables.cpp.
References PtrModeNames.
Definition at line 475 of file EnumTables.cpp.
References PublicSymFlagNames.
Definition at line 466 of file EnumTables.cpp.
References ARM64, ARMNT, RegisterNames_ARM, RegisterNames_ARM64, and RegisterNames_X86.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
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::Block, llvm::codeview::ProcSym::End, llvm::codeview::InlineSiteSym::End, Sym, and symbolOpensScope().
Referenced by limitSymbolArrayToScope(), and llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered().
Definition at line 54 of file SymbolRecordHelpers.cpp.
References assert(), llvm::Block, llvm::codeview::ProcSym::Parent, llvm::codeview::InlineSiteSym::Parent, Sym, 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().
Referenced by llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
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().
Referenced by llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
ArrayRef< EnumEntry< SourceLanguage > > llvm::codeview::getSourceLanguageNames | ( | ) |
Definition at line 491 of file EnumTables.cpp.
References SourceLanguages.
Referenced by llvm::logicalview::LVSymbolVisitor::visitKnownRecord().
Definition at line 323 of file RecordName.cpp.
References llvm::cantFail(), Const, llvm::StringRef::drop_front(), getSymbolNameOffset(), llvm::little, llvm::Offset, Sym, 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 458 of file EnumTables.cpp.
References SymbolTypeNames.
Referenced by getSymbolName(), llvm::logicalview::LVSymbolVisitor::visitSymbolBegin(), and llvm::logicalview::LVSymbolVisitor::visitSymbolEnd().
Definition at line 523 of file EnumTables.cpp.
References ThunkOrdinalNames.
Definition at line 527 of file EnumTables.cpp.
References TrampolineNames.
ArrayRef< EnumEntry< TypeLeafKind > > llvm::codeview::getTypeLeafNames | ( | ) |
Definition at line 462 of file EnumTables.cpp.
References TypeLeafNames.
Definition at line 564 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().
Referenced by llvm::logicalview::LVLogicalVisitor::visitKnownRecord().
|
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, llvm::Guid, and OS.
|
inline |
Definition at line 41 of file FunctionId.h.
|
inline |
Definition at line 29 of file FunctionId.h.
References A, B, and llvm::operator==().
|
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(), llvm::codeview::TypeDumpVisitor::printTypeIndex(), and llvm::logicalview::LVLogicalVisitor::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::logicalview::LVSymbolVisitor::visitSymbolEnd(), and 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(), llvm::logicalview::LVSymbolVisitor::visitSymbolBegin(), 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(), and llvm::codeview::DebugLinesSubsectionRef::initialize().
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.