LLVM: include/llvm/Object/GOFF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_OBJECT_GOFF_H
15#define LLVM_OBJECT_GOFF_H
16
23
24namespace llvm {
26
27
28
29
30
32public:
35
39 return IsContinued;
40 }
41
45 return IsContinuation;
46 }
47
48protected:
49
50
51
52
53
54
55
56
57
61 assert(BitIndex < 8 && "Bit index out of bounds!");
62 assert(Length + BitIndex <= 8 && "Bit length too long!");
63
66 }
67
68 template
71 "Byte index out of bounds!");
73 }
74};
75
77public:
78
80
82
86
90
94};
95
106
108public:
109
110
111
113
114
115
116
117
119
120public:
122
123
130
134
138
142
146
152
158
164
170
176
180
184
188
194
200
206
213
220
226
233
240
247
254
260
267
274
281
287};
288
299
300}
301}
302
303#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file defines the SmallString class.
This file defines the SmallVector class.
Lightweight error class with error context and mandatory checking.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)
static uint16_t getNameLength(const uint8_t *Record)
Definition GOFF.h:293
static void getIndirectReference(const uint8_t *Record, bool &Indirect)
Definition GOFF.h:255
static void getBindingStrength(const uint8_t *Record, GOFF::ESDBindingStrength &Strength)
Definition GOFF.h:241
static void getOffset(const uint8_t *Record, uint32_t &Offset)
Definition GOFF.h:139
static void getDuplicateSeverity(const uint8_t *Record, GOFF::ESDDuplicateSymbolSeverity &DSS)
Definition GOFF.h:234
static void getEsdId(const uint8_t *Record, uint32_t &EsdId)
Definition GOFF.h:131
static void getLoadingBehavior(const uint8_t *Record, GOFF::ESDLoadingBehavior &Behavior)
Definition GOFF.h:248
static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)
static void getNameMangled(const uint8_t *Record, bool &Mangled)
Definition GOFF.h:159
static void getTaskingBehavior(const uint8_t *Record, GOFF::ESDTaskingBehavior &TaskingBehavior)
Definition GOFF.h:214
static void getFillBytePresent(const uint8_t *Record, bool &Present)
Definition GOFF.h:153
static void getLength(const uint8_t *Record, uint32_t &Length)
Definition GOFF.h:143
static void getAdaEsdId(const uint8_t *Record, uint32_t &EsdId)
Definition GOFF.h:181
static void getBindingAlgorithm(const uint8_t *Record, GOFF::ESDBindingAlgorithm &Algorithm)
Definition GOFF.h:207
static void getAmode(const uint8_t *Record, GOFF::ESDAmode &Amode)
Definition GOFF.h:189
static const uint16_t MaxNameLength
Maximum name length for ESD records and continuations.
Definition GOFF.h:118
static void getReadOnly(const uint8_t *Record, bool &ReadOnly)
Definition GOFF.h:221
static void getRmode(const uint8_t *Record, GOFF::ESDRmode &Rmode)
Definition GOFF.h:195
static void getSortPriority(const uint8_t *Record, uint32_t &Priority)
Definition GOFF.h:185
static void getParentEsdId(const uint8_t *Record, uint32_t &EsdId)
Definition GOFF.h:135
static void getFillByteValue(const uint8_t *Record, uint8_t &Fill)
Definition GOFF.h:177
static void getSymbolType(const uint8_t *Record, GOFF::ESDSymbolType &SymbolType)
Definition GOFF.h:124
static void getTextStyle(const uint8_t *Record, GOFF::ESDTextStyle &Style)
Definition GOFF.h:201
static void getAlignment(const uint8_t *Record, GOFF::ESDAlignment &Alignment)
Definition GOFF.h:275
static void getLinkageType(const uint8_t *Record, GOFF::ESDLinkageType &Type)
Definition GOFF.h:268
static const uint8_t ESDMaxUncontinuedNameLength
Number of bytes for name; any more must go in continuation.
Definition GOFF.h:112
static uint16_t getNameLength(const uint8_t *Record)
Definition GOFF.h:282
static void getExecutable(const uint8_t *Record, GOFF::ESDExecutable &Executable)
Definition GOFF.h:227
static void getBindingScope(const uint8_t *Record, GOFF::ESDBindingScope &Scope)
Definition GOFF.h:261
static void getNameSpaceId(const uint8_t *Record, GOFF::ESDNameSpaceId &Id)
Definition GOFF.h:147
static void getRemovable(const uint8_t *Record, bool &Removable)
Definition GOFF.h:171
static void getRenamable(const uint8_t *Record, bool &Renamable)
Definition GOFF.h:165
static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)
static uint16_t getPropertyModuleLength(const uint8_t *Record)
Definition GOFF.h:100
Represents a GOFF physical record.
Definition GOFF.h:31
static void getBits(const uint8_t *Bytes, uint8_t ByteIndex, uint8_t BitIndex, uint8_t Length, uint8_t &Value)
Get bit field of specified byte.
Definition GOFF.h:58
static bool isContinued(const uint8_t *Record)
Definition GOFF.h:36
static Error getContinuousData(const uint8_t *Record, uint16_t DataLength, int DataIndex, SmallString< 256 > &CompleteData)
static void get(const uint8_t *Bytes, uint8_t ByteIndex, T &Value)
Definition GOFF.h:69
static bool isContinuation(const uint8_t *Record)
Definition GOFF.h:42
static void getElementEsdId(const uint8_t *Record, uint32_t &EsdId)
Definition GOFF.h:83
static const uint8_t TXTMaxDataLength
Maximum length of data; any more must go in continuation.
Definition GOFF.h:79
static void getDataLength(const uint8_t *Record, uint16_t &Length)
Definition GOFF.h:91
static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)
static void getOffset(const uint8_t *Record, uint32_t &Offset)
Definition GOFF.h:87
ESDDuplicateSymbolSeverity
constexpr uint8_t RecordLength
Length of the parts of a physical GOFF record.
value_type read(const void *memory, endianness endian)
Read a value of a particular endianness from memory.
This is an optimization pass for GlobalISel generic memory operations.