File indexing completed on 2026-05-10 08:43:45
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_RAWCONSTANTS_H
0010 #define LLVM_DEBUGINFO_PDB_NATIVE_RAWCONSTANTS_H
0011
0012 #include "llvm/ADT/BitmaskEnum.h"
0013 #include "llvm/DebugInfo/CodeView/CodeView.h"
0014 #include <cstdint>
0015
0016 namespace llvm {
0017 namespace pdb {
0018
0019 const uint16_t kInvalidStreamIndex = 0xFFFF;
0020
0021 enum PdbRaw_ImplVer : uint32_t {
0022 PdbImplVC2 = 19941610,
0023 PdbImplVC4 = 19950623,
0024 PdbImplVC41 = 19950814,
0025 PdbImplVC50 = 19960307,
0026 PdbImplVC98 = 19970604,
0027 PdbImplVC70Dep = 19990604,
0028 PdbImplVC70 = 20000404,
0029 PdbImplVC80 = 20030901,
0030 PdbImplVC110 = 20091201,
0031 PdbImplVC140 = 20140508,
0032 };
0033
0034 enum class PdbRaw_SrcHeaderBlockVer : uint32_t { SrcVerOne = 19980827 };
0035
0036 enum class PdbRaw_FeatureSig : uint32_t {
0037 VC110 = PdbImplVC110,
0038 VC140 = PdbImplVC140,
0039 NoTypeMerge = 0x4D544F4E,
0040 MinimalDebugInfo = 0x494E494D,
0041 };
0042
0043 enum PdbRaw_Features : uint32_t {
0044 PdbFeatureNone = 0x0,
0045 PdbFeatureContainsIdStream = 0x1,
0046 PdbFeatureMinimalDebugInfo = 0x2,
0047 PdbFeatureNoTypeMerging = 0x4,
0048 LLVM_MARK_AS_BITMASK_ENUM( PdbFeatureNoTypeMerging)
0049 };
0050
0051 enum PdbRaw_DbiVer : uint32_t {
0052 PdbDbiVC41 = 930803,
0053 PdbDbiV50 = 19960307,
0054 PdbDbiV60 = 19970606,
0055 PdbDbiV70 = 19990903,
0056 PdbDbiV110 = 20091201
0057 };
0058
0059 enum PdbRaw_TpiVer : uint32_t {
0060 PdbTpiV40 = 19950410,
0061 PdbTpiV41 = 19951122,
0062 PdbTpiV50 = 19961031,
0063 PdbTpiV70 = 19990903,
0064 PdbTpiV80 = 20040203,
0065 };
0066
0067 enum PdbRaw_DbiSecContribVer : uint32_t {
0068 DbiSecContribVer60 = 0xeffe0000 + 19970605,
0069 DbiSecContribV2 = 0xeffe0000 + 20140516
0070 };
0071
0072 enum SpecialStream : uint32_t {
0073
0074
0075
0076 OldMSFDirectory = 0,
0077
0078 StreamPDB = 1,
0079 StreamTPI = 2,
0080 StreamDBI = 3,
0081 StreamIPI = 4,
0082
0083 kSpecialStreamCount
0084 };
0085
0086 enum class DbgHeaderType : uint16_t {
0087 FPO,
0088 Exception,
0089 Fixup,
0090 OmapToSrc,
0091 OmapFromSrc,
0092 SectionHdr,
0093 TokenRidMap,
0094 Xdata,
0095 Pdata,
0096 NewFPO,
0097 SectionHdrOrig,
0098 Max
0099 };
0100
0101 enum class OMFSegDescFlags : uint16_t {
0102 None = 0,
0103 Read = 1 << 0,
0104 Write = 1 << 1,
0105 Execute = 1 << 2,
0106 AddressIs32Bit = 1 << 3,
0107 IsSelector = 1 << 8,
0108 IsAbsoluteAddress = 1 << 9,
0109 IsGroup = 1 << 10,
0110 LLVM_MARK_AS_BITMASK_ENUM( IsGroup)
0111 };
0112
0113 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
0114
0115 }
0116 }
0117
0118 #endif