LLVM
20.0.0git
include
llvm
DebugInfo
PDB
Native
RawConstants.h
Go to the documentation of this file.
1
//===- RawConstants.h -------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_DEBUGINFO_PDB_NATIVE_RAWCONSTANTS_H
10
#define LLVM_DEBUGINFO_PDB_NATIVE_RAWCONSTANTS_H
11
12
#include "
llvm/ADT/BitmaskEnum.h
"
13
#include "
llvm/DebugInfo/CodeView/CodeView.h
"
14
#include <cstdint>
15
16
namespace
llvm
{
17
namespace
pdb {
18
19
const
uint16_t
kInvalidStreamIndex
= 0xFFFF;
20
21
enum
PdbRaw_ImplVer
:
uint32_t
{
22
PdbImplVC2
= 19941610,
23
PdbImplVC4
= 19950623,
24
PdbImplVC41
= 19950814,
25
PdbImplVC50
= 19960307,
26
PdbImplVC98
= 19970604,
27
PdbImplVC70Dep
= 19990604,
// deprecated
28
PdbImplVC70
= 20000404,
29
PdbImplVC80
= 20030901,
30
PdbImplVC110
= 20091201,
31
PdbImplVC140
= 20140508,
32
};
33
34
enum class
PdbRaw_SrcHeaderBlockVer
:
uint32_t
{
SrcVerOne
= 19980827 };
35
36
enum class
PdbRaw_FeatureSig
:
uint32_t
{
37
VC110
=
PdbImplVC110
,
38
VC140
=
PdbImplVC140
,
39
NoTypeMerge
= 0x4D544F4E,
40
MinimalDebugInfo
= 0x494E494D,
41
};
42
43
enum
PdbRaw_Features
:
uint32_t
{
44
PdbFeatureNone
= 0x0,
45
PdbFeatureContainsIdStream
= 0x1,
46
PdbFeatureMinimalDebugInfo
= 0x2,
47
PdbFeatureNoTypeMerging
= 0x4,
48
LLVM_MARK_AS_BITMASK_ENUM
(
/* LargestValue = */
PdbFeatureNoTypeMerging
)
49
};
50
51
enum
PdbRaw_DbiVer
:
uint32_t
{
52
PdbDbiVC41
= 930803,
53
PdbDbiV50
= 19960307,
54
PdbDbiV60
= 19970606,
55
PdbDbiV70
= 19990903,
56
PdbDbiV110
= 20091201
57
};
58
59
enum
PdbRaw_TpiVer
:
uint32_t
{
60
PdbTpiV40
= 19950410,
61
PdbTpiV41
= 19951122,
62
PdbTpiV50
= 19961031,
63
PdbTpiV70
= 19990903,
64
PdbTpiV80
= 20040203,
65
};
66
67
enum
PdbRaw_DbiSecContribVer
:
uint32_t
{
68
DbiSecContribVer60
= 0xeffe0000 + 19970605,
69
DbiSecContribV2
= 0xeffe0000 + 20140516
70
};
71
72
enum
SpecialStream
:
uint32_t
{
73
// Stream 0 contains the copy of previous version of the MSF directory.
74
// We are not currently using it, but technically if we find the main
75
// MSF is corrupted, we could fallback to it.
76
OldMSFDirectory
= 0,
77
78
StreamPDB
= 1,
79
StreamTPI
= 2,
80
StreamDBI
= 3,
81
StreamIPI
= 4,
82
83
kSpecialStreamCount
84
};
85
86
enum class
DbgHeaderType
:
uint16_t
{
87
FPO
,
88
Exception
,
89
Fixup
,
90
OmapToSrc
,
91
OmapFromSrc
,
92
SectionHdr
,
93
TokenRidMap
,
94
Xdata
,
95
Pdata
,
96
NewFPO
,
97
SectionHdrOrig
,
98
Max
99
};
100
101
enum class
OMFSegDescFlags
:
uint16_t
{
102
None
= 0,
103
Read
= 1 << 0,
// Segment is readable.
104
Write
= 1 << 1,
// Segment is writable.
105
Execute
= 1 << 2,
// Segment is executable.
106
AddressIs32Bit
= 1 << 3,
// Descriptor describes a 32-bit linear address.
107
IsSelector
= 1 << 8,
// Frame represents a selector.
108
IsAbsoluteAddress
= 1 << 9,
// Frame represents an absolute address.
109
IsGroup
= 1 << 10,
// If set, descriptor represents a group.
110
LLVM_MARK_AS_BITMASK_ENUM
(
/* LargestValue = */
IsGroup
)
111
};
112
113
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE
();
114
115
}
// end namespace pdb
116
}
// end namespace llvm
117
118
#endif
// LLVM_DEBUGINFO_PDB_NATIVE_RAWCONSTANTS_H
BitmaskEnum.h
CodeView.h
uint16_t
uint32_t
llvm::pdb::kInvalidStreamIndex
const uint16_t kInvalidStreamIndex
Definition:
RawConstants.h:19
llvm::pdb::SpecialStream
SpecialStream
Definition:
RawConstants.h:72
llvm::pdb::kSpecialStreamCount
@ kSpecialStreamCount
Definition:
RawConstants.h:83
llvm::pdb::OldMSFDirectory
@ OldMSFDirectory
Definition:
RawConstants.h:76
llvm::pdb::StreamDBI
@ StreamDBI
Definition:
RawConstants.h:80
llvm::pdb::StreamTPI
@ StreamTPI
Definition:
RawConstants.h:79
llvm::pdb::StreamIPI
@ StreamIPI
Definition:
RawConstants.h:81
llvm::pdb::StreamPDB
@ StreamPDB
Definition:
RawConstants.h:78
llvm::pdb::OMFSegDescFlags
OMFSegDescFlags
Definition:
RawConstants.h:101
llvm::pdb::OMFSegDescFlags::Write
@ Write
llvm::pdb::OMFSegDescFlags::IsAbsoluteAddress
@ IsAbsoluteAddress
llvm::pdb::OMFSegDescFlags::AddressIs32Bit
@ AddressIs32Bit
llvm::pdb::OMFSegDescFlags::IsGroup
@ IsGroup
llvm::pdb::OMFSegDescFlags::Execute
@ Execute
llvm::pdb::OMFSegDescFlags::Read
@ Read
llvm::pdb::OMFSegDescFlags::IsSelector
@ IsSelector
llvm::pdb::PdbRaw_Features
PdbRaw_Features
Definition:
RawConstants.h:43
llvm::pdb::PdbFeatureNone
@ PdbFeatureNone
Definition:
RawConstants.h:44
llvm::pdb::PdbFeatureMinimalDebugInfo
@ PdbFeatureMinimalDebugInfo
Definition:
RawConstants.h:46
llvm::pdb::PdbFeatureNoTypeMerging
@ PdbFeatureNoTypeMerging
Definition:
RawConstants.h:47
llvm::pdb::PdbFeatureContainsIdStream
@ PdbFeatureContainsIdStream
Definition:
RawConstants.h:45
llvm::pdb::DbgHeaderType
DbgHeaderType
Definition:
RawConstants.h:86
llvm::pdb::DbgHeaderType::Xdata
@ Xdata
llvm::pdb::DbgHeaderType::FPO
@ FPO
llvm::pdb::DbgHeaderType::Fixup
@ Fixup
llvm::pdb::DbgHeaderType::TokenRidMap
@ TokenRidMap
llvm::pdb::DbgHeaderType::SectionHdrOrig
@ SectionHdrOrig
llvm::pdb::DbgHeaderType::Max
@ Max
llvm::pdb::DbgHeaderType::OmapToSrc
@ OmapToSrc
llvm::pdb::DbgHeaderType::SectionHdr
@ SectionHdr
llvm::pdb::DbgHeaderType::Exception
@ Exception
llvm::pdb::DbgHeaderType::OmapFromSrc
@ OmapFromSrc
llvm::pdb::DbgHeaderType::Pdata
@ Pdata
llvm::pdb::DbgHeaderType::NewFPO
@ NewFPO
llvm::pdb::PdbRaw_FeatureSig
PdbRaw_FeatureSig
Definition:
RawConstants.h:36
llvm::pdb::PdbRaw_FeatureSig::VC140
@ VC140
llvm::pdb::PdbRaw_FeatureSig::VC110
@ VC110
llvm::pdb::PdbRaw_FeatureSig::MinimalDebugInfo
@ MinimalDebugInfo
llvm::pdb::PdbRaw_FeatureSig::NoTypeMerge
@ NoTypeMerge
llvm::pdb::PdbSymbolIdField::None
@ None
llvm::pdb::PdbRaw_SrcHeaderBlockVer
PdbRaw_SrcHeaderBlockVer
Definition:
RawConstants.h:34
llvm::pdb::PdbRaw_SrcHeaderBlockVer::SrcVerOne
@ SrcVerOne
llvm::pdb::PdbRaw_DbiVer
PdbRaw_DbiVer
Definition:
RawConstants.h:51
llvm::pdb::PdbDbiV70
@ PdbDbiV70
Definition:
RawConstants.h:55
llvm::pdb::PdbDbiV110
@ PdbDbiV110
Definition:
RawConstants.h:56
llvm::pdb::PdbDbiV60
@ PdbDbiV60
Definition:
RawConstants.h:54
llvm::pdb::PdbDbiVC41
@ PdbDbiVC41
Definition:
RawConstants.h:52
llvm::pdb::PdbDbiV50
@ PdbDbiV50
Definition:
RawConstants.h:53
llvm::pdb::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()
llvm::pdb::PdbRaw_ImplVer
PdbRaw_ImplVer
Definition:
RawConstants.h:21
llvm::pdb::PdbImplVC70
@ PdbImplVC70
Definition:
RawConstants.h:28
llvm::pdb::PdbImplVC50
@ PdbImplVC50
Definition:
RawConstants.h:25
llvm::pdb::PdbImplVC70Dep
@ PdbImplVC70Dep
Definition:
RawConstants.h:27
llvm::pdb::PdbImplVC140
@ PdbImplVC140
Definition:
RawConstants.h:31
llvm::pdb::PdbImplVC98
@ PdbImplVC98
Definition:
RawConstants.h:26
llvm::pdb::PdbImplVC2
@ PdbImplVC2
Definition:
RawConstants.h:22
llvm::pdb::PdbImplVC41
@ PdbImplVC41
Definition:
RawConstants.h:24
llvm::pdb::PdbImplVC4
@ PdbImplVC4
Definition:
RawConstants.h:23
llvm::pdb::PdbImplVC80
@ PdbImplVC80
Definition:
RawConstants.h:29
llvm::pdb::PdbImplVC110
@ PdbImplVC110
Definition:
RawConstants.h:30
llvm::pdb::PdbRaw_DbiSecContribVer
PdbRaw_DbiSecContribVer
Definition:
RawConstants.h:67
llvm::pdb::DbiSecContribVer60
@ DbiSecContribVer60
Definition:
RawConstants.h:68
llvm::pdb::DbiSecContribV2
@ DbiSecContribV2
Definition:
RawConstants.h:69
llvm::pdb::PdbRaw_TpiVer
PdbRaw_TpiVer
Definition:
RawConstants.h:59
llvm::pdb::PdbTpiV80
@ PdbTpiV80
Definition:
RawConstants.h:64
llvm::pdb::PdbTpiV50
@ PdbTpiV50
Definition:
RawConstants.h:62
llvm::pdb::PdbTpiV40
@ PdbTpiV40
Definition:
RawConstants.h:60
llvm::pdb::PdbTpiV41
@ PdbTpiV41
Definition:
RawConstants.h:61
llvm::pdb::PdbTpiV70
@ PdbTpiV70
Definition:
RawConstants.h:63
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::ModRefInfo::LLVM_MARK_AS_BITMASK_ENUM
@ LLVM_MARK_AS_BITMASK_ENUM
Generated on Sat Dec 21 2024 20:52:04 for LLVM by
1.9.6