|
LLVM
4.0.0
|
Typedefs | |
| typedef msf::VarStreamArray < ModuleSubstream > | ModuleSubstreamArray |
| typedef msf::VarStreamArray < LineColumnEntry > | LineInfoArray |
| typedef msf::VarStreamArray < FileChecksumEntry > | FileChecksumArray |
| typedef CVRecord< SymbolKind > | CVSymbol |
| typedef msf::VarStreamArray < CVSymbol > | CVSymbolArray |
| typedef CVRecord< TypeLeafKind > | CVType |
| typedef msf::VarStreamArray < CVType > | CVTypeArray |
| typedef CVRecord<SymbolKind> llvm::codeview::CVSymbol |
Definition at line 940 of file SymbolRecord.h.
Definition at line 941 of file SymbolRecord.h.
| typedef CVRecord<TypeLeafKind> llvm::codeview::CVType |
Definition at line 39 of file TypeRecord.h.
Definition at line 45 of file TypeRecord.h.
Definition at line 42 of file ModuleSubstreamVisitor.h.
Definition at line 41 of file ModuleSubstreamVisitor.h.
Definition at line 73 of file ModuleSubstream.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 32 of file RecordSerialization.h.
| anonymous enum : uint16_t |
| Enumerator | |
|---|---|
| MaxDefRange | |
Definition at line 432 of file SymbolRecord.h.
|
strong |
Definition at line 449 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 162 of file CodeView.h.
|
strong |
Definition at line 190 of file CodeView.h.
|
strong |
Corresponds to COMPILESYM2::Flags bitfield.
| Enumerator | |
|---|---|
| EC | |
| NoDbgInfo | |
| LTCG | |
| NoDataAlign | |
| ManagedPresent | |
| SecurityChecks | |
| HotPatch | |
| CVTCIL | |
| MSILModule | |
Definition at line 408 of file CodeView.h.
|
strong |
Corresponds to COMPILESYM3::Flags bitfield.
| Enumerator | |
|---|---|
| EC | |
| NoDbgInfo | |
| LTCG | |
| NoDataAlign | |
| ManagedPresent | |
| SecurityChecks | |
| HotPatch | |
| CVTCIL | |
| MSILModule | |
| Sdl | |
| PGO | |
| Exp | |
Definition at line 422 of file CodeView.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 73 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| unspecified | |
| insufficient_buffer | |
| operation_unsupported | |
| corrupt_record | |
| unknown_member_record | |
Definition at line 19 of file CodeViewError.h.
|
strong |
| Enumerator | |
|---|---|
| IsConstant | |
| IsData | |
| IsPrivate | |
| HasNoName | |
| HasExplicitOrdinal | |
| IsForwarder | |
Definition at line 438 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| MD5 | |
| SHA1 | |
| SHA256 | |
Definition at line 541 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| Copy | |
| XorStackPointer | |
| XorFramePointer | |
| XorR13 | |
Definition at line 467 of file CodeView.h.
|
strong |
Definition at line 207 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| CxxReturnUdt | |
| Constructor | |
| ConstructorWithVirtualBases | |
Definition at line 231 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Float | |
| Double | |
| Other | |
Definition at line 239 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| HaveColumns | |
Definition at line 543 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 377 of file CodeView.h.
|
strong |
Source-level access specifier. (CV_access_e)
| Enumerator | |
|---|---|
| None | |
| Private | |
| Protected | |
| Public | |
Definition at line 247 of file CodeView.h.
|
strong |
Part of member attribute flags. (CV_methodprop_e)
| Enumerator | |
|---|---|
| Vanilla | |
| Virtual | |
| Static | |
| Friend | |
| IntroducingVirtual | |
| PureVirtual | |
| PureIntroducingVirtual | |
Definition at line 255 of file CodeView.h.
|
strong |
Equivalent to CV_fldattr_t bitfield.
| Enumerator | |
|---|---|
| None | |
| AccessMask | |
| MethodKindMask | |
| Pseudo | |
| NoInherit | |
| NoConstruct | |
| CompilerGenerated | |
| Sealed | |
Definition at line 266 of file CodeView.h.
|
strong |
Equivalent to CV_modifier_t.
TODO: Add flag for _Atomic modifier
| Enumerator | |
|---|---|
| None | |
| Const | |
| Volatile | |
| Unaligned | |
Definition at line 280 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Symbols | |
| Lines | |
| StringTable | |
| FileChecksums | |
| FrameData | |
| InlineeLines | |
| CrossScopeImports | |
| CrossScopeExports | |
| ILLines | |
| FuncMDTokenMap | |
| TypeMDTokenMap | |
| MergedAssemblyInput | |
| CoffSymbolRVA | |
Definition at line 288 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 309 of file CodeView.h.
|
strong |
Equivalent to CV_ptrmode_e.
| Enumerator | |
|---|---|
| Pointer | |
| LValueReference | |
| PointerToDataMember | |
| PointerToMemberFunction | |
| RValueReference | |
Definition at line 326 of file CodeView.h.
|
strong |
Equivalent to misc lfPointerAttr bitfields.
| Enumerator | |
|---|---|
| None | |
| Flat32 | |
| Volatile | |
| Const | |
| Unaligned | |
| Restrict | |
| WinRTSmartPointer | |
Definition at line 335 of file CodeView.h.
|
strong |
Equivalent to CV_pmtype_e.
| Enumerator | |
|---|---|
| Unknown | |
| SingleInheritanceData | |
| MultipleInheritanceData | |
| VirtualInheritanceData | |
| GeneralData | |
| SingleInheritanceFunction | |
| MultipleInheritanceFunction | |
| VirtualInheritanceFunction | |
| GeneralFunction | |
Definition at line 347 of file CodeView.h.
|
strong |
Corresponds to the CV_PROCFLAGS bitfield.
| Enumerator | |
|---|---|
| None | |
| HasFP | |
| HasIRET | |
| HasFRET | |
| IsNoReturn | |
| IsUnreachable | |
| HasCustomCallingConv | |
| IsNoInline | |
| HasOptimizedDebugInfo | |
Definition at line 394 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| VFrame | |
| AL | |
| CL | |
| DL | |
| BL | |
| AH | |
| CH | |
| DH | |
| BH | |
| AX | |
| CX | |
| DX | |
| BX | |
| SP | |
| BP | |
| SI | |
| DI | |
| EAX | |
| ECX | |
| EDX | |
| EBX | |
| ESP | |
| EBP | |
| ESI | |
| EDI | |
| ES | |
| CS | |
| SS | |
| DS | |
| FS | |
| GS | |
| IP | |
| RAX | |
| RBX | |
| RCX | |
| RDX | |
| RSI | |
| RDI | |
| RBP | |
| RSP | |
| R8 | |
| R9 | |
| R10 | |
| R11 | |
| R12 | |
| R13 | |
| R14 | |
| R15 | |
Definition at line 475 of file CodeView.h.
|
strong |
Definition at line 20 of file TypeIndex.h.
|
strong |
| Enumerator | |
|---|---|
| Direct | |
| NearPointer | |
| FarPointer | |
| HugePointer | |
| NearPointer32 | |
| FarPointer32 | |
| NearPointer64 | |
| NearPointer128 | |
Definition at line 75 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.
| Enumerator | |
|---|---|
| C | |
| Cpp | |
| Fortran | |
| Masm | |
| Pascal | |
| Basic | |
| Cobol | |
| Link | |
| Cvtres | |
| Cvtpgd | |
| CSharp | |
| VB | |
| ILAsm | |
| Java | |
| JScript | |
| MSIL | |
| HLSL | |
Definition at line 137 of file CodeView.h.
| enum llvm::codeview::SymbolKind : uint16_t |
Duplicate copy of the above enum, but using the official CV names.
Useful for reference purposes and when dealing with unknown record types.
| Enumerator | |
|---|---|
| CV_SYMBOL | |
| CV_SYMBOL | |
| SYMBOL_RECORD | |
| SYMBOL_RECORD_ALIAS | |
Definition at line 42 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 | |
| CV_SYMBOL | |
| SYMBOL_RECORD_ALIAS | |
Definition at line 35 of file CodeView.h.
|
strong |
These values correspond to the THUNK_ORDINAL enumeration.
| Enumerator | |
|---|---|
| Standard | |
| ThisAdjustor | |
| Vcall | |
| Pcode | |
| UnknownLoad | |
| TrampIncremental | |
| BranchIsland | |
Definition at line 528 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| TrampIncremental | |
| BranchIsland | |
Definition at line 538 of file CodeView.h.
| enum llvm::codeview::TypeLeafKind : uint16_t |
Duplicate copy of the above enum, but using the official CV names.
Useful for reference purposes and when dealing with unknown record types.
| Enumerator | |
|---|---|
| CV_TYPE | |
| CV_TYPE | |
| TYPE_RECORD | |
| TYPE_RECORD_ALIAS | |
| MEMBER_RECORD | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
Definition at line 28 of file CodeView.h.
|
strong |
Distinguishes individual records in .debug$T section or PDB type stream.
The documentation and headers talk about this as the "leaf" type.
| Enumerator | |
|---|---|
| TYPE_RECORD | |
| CV_TYPE | |
| TYPE_RECORD_ALIAS | |
| MEMBER_RECORD | |
| MEMBER_RECORD_ALIAS | |
| MEMBER_RECORD_ALIAS | |
Definition at line 21 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| Near16 | |
| Far16 | |
| This | |
| Outer | |
| Meta | |
| Near | |
| Far | |
Definition at line 359 of file CodeView.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| RefClass | |
| ValueClass | |
| Interface | |
Definition at line 369 of file CodeView.h.
|
inline |
Definition at line 44 of file RecordSerialization.h.
References llvm::Error::success().
Referenced by consume(), consume_numeric(), llvm::codeview::serialize_conditional_impl< T, U >::deserialize(), llvm::codeview::serialize_vector_tail_impl< T >::deserialize(), and llvm::codeview::CodeViewRecordIO::mapEncodedInteger().
| Error llvm::codeview::consume | ( | msf::StreamReader & | 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 llvm::lltok::APSInt, corrupt_record, EC, N, llvm::msf::StreamReader::readInteger(), and llvm::Error::success().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| uint32_t & | Item | ||
| ) |
Decodes signed and unsigned fixed-length integers.
Definition at line 126 of file RecordSerialization.cpp.
References llvm::msf::StreamReader::readInteger().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| int32_t & | Item | ||
| ) |
Definition at line 139 of file RecordSerialization.cpp.
References llvm::msf::StreamReader::readInteger().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| StringRef & | Item | ||
| ) |
Decodes a null terminated string.
Definition at line 143 of file RecordSerialization.cpp.
References corrupt_record, llvm::msf::StreamReader::empty(), and llvm::msf::StreamReader::readZeroString().
Definition at line 104 of file RecordSerialization.cpp.
References llvm::StringRef::bytes_begin(), llvm::StringRef::bytes_end(), llvm::msf::StreamReader::bytesRemaining(), consume(), EC, and llvm::StringRef::take_back().
Definition at line 130 of file RecordSerialization.cpp.
References llvm::StringRef::bytes_begin(), llvm::StringRef::bytes_end(), llvm::msf::StreamReader::bytesRemaining(), consume(), EC, and llvm::StringRef::take_back().
Decodes an arbitrary object whose layout matches that of the underlying byte sequence, and returns a pointer to the object.
Definition at line 67 of file RecordSerialization.h.
References llvm::msf::StreamReader::readObject().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| const serialize_conditional_impl< T, U > & | Item | ||
| ) |
Definition at line 204 of file RecordSerialization.h.
References llvm::codeview::serialize_conditional_impl< T, U >::deserialize().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| const serialize_array_impl< T, U > & | Item | ||
| ) |
Definition at line 210 of file RecordSerialization.h.
References llvm::codeview::serialize_array_impl< T, U >::deserialize().
|
inline |
Definition at line 215 of file RecordSerialization.h.
References llvm::codeview::serialize_null_term_string_array_impl::deserialize().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| const serialize_vector_tail_impl< T > & | Item | ||
| ) |
Definition at line 221 of file RecordSerialization.h.
References llvm::codeview::serialize_vector_tail_impl< T >::deserialize().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| const serialize_arrayref_tail_impl< T > & | Item | ||
| ) |
Definition at line 227 of file RecordSerialization.h.
References llvm::codeview::serialize_arrayref_tail_impl< T >::deserialize().
| Error llvm::codeview::consume | ( | msf::StreamReader & | Reader, |
| const serialize_numeric_impl< T > & | Item | ||
| ) |
Definition at line 233 of file RecordSerialization.h.
References llvm::codeview::serialize_numeric_impl< T >::deserialize().
| Error llvm::codeview::consume_numeric | ( | msf::StreamReader & | 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 consume(), corrupt_record, EC, llvm::APInt::getLimitedValue(), llvm::APInt::isIntN(), llvm::APSInt::isSigned(), N, and llvm::Error::success().
Referenced by llvm::codeview::serialize_numeric_impl< T >::deserialize().
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 353 of file CodeView/EnumTables.cpp.
References CompileSym2FlagNames, and llvm::makeArrayRef().
Definition at line 356 of file CodeView/EnumTables.cpp.
References CompileSym3FlagNames, and llvm::makeArrayRef().
Definition at line 362 of file CodeView/EnumTables.cpp.
References CPUTypeNames, and llvm::makeArrayRef().
Definition at line 368 of file CodeView/EnumTables.cpp.
References ExportSymFlagNames, and llvm::makeArrayRef().
Definition at line 359 of file CodeView/EnumTables.cpp.
References FileChecksumNames, and llvm::makeArrayRef().
Definition at line 347 of file CodeView/EnumTables.cpp.
References FrameCookieKinds, and llvm::makeArrayRef().
Definition at line 365 of file CodeView/EnumTables.cpp.
References FrameProcSymFlagNames, and llvm::makeArrayRef().
| ArrayRef< EnumEntry< COFF::SectionCharacteristics > > llvm::codeview::getImageSectionCharacteristicNames | ( | ) |
Definition at line 381 of file CodeView/EnumTables.cpp.
References ImageSectionCharacteristicNames, and llvm::makeArrayRef().
Definition at line 344 of file CodeView/EnumTables.cpp.
References LocalFlags, and llvm::makeArrayRef().
Definition at line 371 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and ModuleSubstreamKindNames.
Definition at line 341 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and ProcSymFlagNames.
Definition at line 337 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and RegisterNames.
| ArrayRef< EnumEntry< SourceLanguage > > llvm::codeview::getSourceLanguageNames | ( | ) |
Definition at line 350 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and SourceLanguages.
| ArrayRef< EnumEntry< SymbolKind > > llvm::codeview::getSymbolTypeNames | ( | ) |
Definition at line 329 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and SymbolTypeNames.
Definition at line 374 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and ThunkOrdinalNames.
Definition at line 377 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and TrampolineNames.
| ArrayRef< EnumEntry< TypeLeafKind > > llvm::codeview::getTypeLeafNames | ( | ) |
Definition at line 333 of file CodeView/EnumTables.cpp.
References llvm::makeArrayRef(), and TypeLeafNames.
| bool llvm::codeview::mergeTypeStreams | ( | TypeTableBuilder & | DestStream, |
| const CVTypeArray & | Types | ||
| ) |
Merges one type stream into another. Returns true on success.
Definition at line 184 of file TypeStreamMerger.cpp.
Definition at line 34 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
Definition at line 38 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
Definition at line 42 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
Definition at line 30 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
Definition at line 46 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
Definition at line 50 of file FunctionId.h.
References llvm::codeview::FunctionId::getIndex().
| serialize_array_impl<T, U> llvm::codeview::serialize_array | ( | ArrayRef< T > & | Item, |
| U | Func | ||
| ) |
Definition at line 160 of file RecordSerialization.h.
| serialize_vector_tail_impl<T> llvm::codeview::serialize_array_tail | ( | std::vector< T > & | Item | ) |
Definition at line 170 of file RecordSerialization.h.
| serialize_arrayref_tail_impl<T> llvm::codeview::serialize_array_tail | ( | ArrayRef< T > & | Item | ) |
Definition at line 175 of file RecordSerialization.h.
| serialize_conditional_impl<T, U> llvm::codeview::serialize_conditional | ( | T & | Item, |
| U | Func | ||
| ) |
Definition at line 85 of file RecordSerialization.h.
|
inline |
Definition at line 165 of file RecordSerialization.h.
| serialize_numeric_impl<T> llvm::codeview::serialize_numeric | ( | T & | Item | ) |
Definition at line 179 of file RecordSerialization.h.
| Error llvm::codeview::visitModuleSubstream | ( | const ModuleSubstream & | R, |
| IModuleSubstreamVisitor & | V | ||
| ) |
Definition at line 62 of file ModuleSubstreamVisitor.cpp.
References CoffSymbolRVA, CrossScopeExports, CrossScopeImports, E, EC, FileChecksums, FrameData, FuncMDTokenMap, llvm::codeview::ModuleSubstream::getRecordData(), llvm::codeview::ModuleSubstream::getSubstreamKind(), ILLines, InlineeLines, Lines, MergedAssemblyInput, StringTable, Symbols, TypeMDTokenMap, llvm::codeview::IModuleSubstreamVisitor::visitCoffSymbolRVA(), llvm::codeview::IModuleSubstreamVisitor::visitCrossScopeExports(), llvm::codeview::IModuleSubstreamVisitor::visitCrossScopeImports(), llvm::codeview::IModuleSubstreamVisitor::visitFileChecksums(), llvm::codeview::IModuleSubstreamVisitor::visitFrameData(), llvm::codeview::IModuleSubstreamVisitor::visitFuncMDTokenMap(), llvm::codeview::IModuleSubstreamVisitor::visitILLines(), llvm::codeview::IModuleSubstreamVisitor::visitInlineeLines(), llvm::codeview::IModuleSubstreamVisitor::visitLines(), llvm::codeview::IModuleSubstreamVisitor::visitMergedAssemblyInput(), llvm::codeview::IModuleSubstreamVisitor::visitStringTable(), llvm::codeview::IModuleSubstreamVisitor::visitSymbols(), llvm::codeview::IModuleSubstreamVisitor::visitTypeMDTokenMap(), and llvm::codeview::IModuleSubstreamVisitor::visitUnknown().
1.8.6