LLVM: include/llvm/ObjectYAML/XCOFFYAML.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12#ifndef LLVM_OBJECTYAML_XCOFFYAML_H
13#define LLVM_OBJECTYAML_XCOFFYAML_H
14
17#include
18#include
19
20namespace llvm {
22
32
34 std::optionalllvm::yaml::Hex16 Magic;
35 std::optionalllvm::yaml::Hex16 Version;
48 std::optionalllvm::yaml::Hex8 CpuFlag;
49 std::optionalllvm::yaml::Hex8 CpuType;
54 std::optionalllvm::yaml::Hex64 TextSize;
62 std::optionalllvm::yaml::Hex16 Flag;
63};
64
71
86
96
103
113
115
119
122
127
130
135};
136
148
159
172
182
193
204
212
221}
222}
223
228
229namespace llvm {
230namespace yaml {
231
235
239
243
247
251
255
259
263
267
268template <> struct MappingTraits<std::unique_ptrXCOFFYAML::AuxSymbolEnt> {
269 static void mapping(IO &IO, std::unique_ptrXCOFFYAML::AuxSymbolEnt &AuxSym);
270};
271
275
279
283
287
291
292}
293}
294
295#endif
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
Utility for declaring that a std::vector of a particular type should be considered a YAML sequence.
StringRef - Represent a constant reference to a string, i.e.
A table of densely packed, null-terminated strings indexed by offset.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
Specialized YAMLIO scalar type for representing a binary blob.
Definition XCOFFYAML.h:21
AuxSymbolType
Definition XCOFFYAML.h:87
@ AUX_CSECT
Definition XCOFFYAML.h:92
@ AUX_SYM
Definition XCOFFYAML.h:90
@ AUX_SECT
Definition XCOFFYAML.h:93
@ AUX_EXCEPT
Definition XCOFFYAML.h:88
@ AUX_FILE
Definition XCOFFYAML.h:91
@ AUX_FCN
Definition XCOFFYAML.h:89
@ AUX_STAT
Definition XCOFFYAML.h:94
DwarfSectionSubtypeFlags
Values for defining the section subtype of sections of type STYP_DWARF as they would appear in the (s...
StorageMappingClass
Storage Mapping Class definitions.
This is an optimization pass for GlobalISel generic memory operations.
Implement std::hash so that hash_code can be used in STL containers.
AuxSymbolType Type
Definition XCOFFYAML.h:98
AuxSymbolEnt(AuxSymbolType T)
Definition XCOFFYAML.h:100
BlockAuxEnt()
Definition XCOFFYAML.h:167
std::optional< uint32_t > LineNum
Definition XCOFFYAML.h:165
std::optional< uint16_t > LineNumHi
Definition XCOFFYAML.h:162
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:168
std::optional< uint16_t > LineNumLo
Definition XCOFFYAML.h:163
std::optional< uint16_t > TypeChkSectNum
Definition XCOFFYAML.h:124
std::optional< uint32_t > ParameterHashIndex
Definition XCOFFYAML.h:123
CsectAuxEnt()
Definition XCOFFYAML.h:131
std::optional< uint32_t > SectionOrLength
Definition XCOFFYAML.h:116
std::optional< uint32_t > SectionOrLengthHi
Definition XCOFFYAML.h:121
std::optional< uint8_t > SymbolAlignmentAndType
Definition XCOFFYAML.h:128
std::optional< uint32_t > SectionOrLengthLo
Definition XCOFFYAML.h:120
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:132
std::optional< uint8_t > SymbolAlignment
Definition XCOFFYAML.h:126
std::optional< uint16_t > StabSectNum
Definition XCOFFYAML.h:118
std::optional< XCOFF::StorageMappingClass > StorageMappingClass
Definition XCOFFYAML.h:129
std::optional< uint32_t > StabInfoIndex
Definition XCOFFYAML.h:117
std::optional< XCOFF::SymbolType > SymbolType
Definition XCOFFYAML.h:125
std::optional< int32_t > SymIdxOfNextBeyond
Definition XCOFFYAML.h:152
ExcpetionAuxEnt()
Definition XCOFFYAML.h:154
std::optional< uint32_t > SizeOfFunction
Definition XCOFFYAML.h:151
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:155
std::optional< uint64_t > OffsetToExceptionTbl
Definition XCOFFYAML.h:150
FileAuxEnt()
Definition XCOFFYAML.h:108
std::optional< XCOFF::CFileStringType > FileStringType
Definition XCOFFYAML.h:106
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:109
std::optional< StringRef > FileNameOrString
Definition XCOFFYAML.h:105
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:144
std::optional< int32_t > SymIdxOfNextBeyond
Definition XCOFFYAML.h:141
FunctionAuxEnt()
Definition XCOFFYAML.h:143
std::optional< uint32_t > OffsetToExceptionTbl
Definition XCOFFYAML.h:138
std::optional< uint64_t > PtrToLineNum
Definition XCOFFYAML.h:139
std::optional< uint32_t > SizeOfFunction
Definition XCOFFYAML.h:140
Definition XCOFFYAML.h:213
std::vector< Section > Sections
Definition XCOFFYAML.h:216
std::optional< AuxiliaryHeader > AuxHeader
Definition XCOFFYAML.h:215
StringTable StrTbl
Definition XCOFFYAML.h:218
std::vector< Symbol > Symbols
Definition XCOFFYAML.h:217
FileHeader Header
Definition XCOFFYAML.h:214
Definition XCOFFYAML.h:65
llvm::yaml::Hex8 Type
Definition XCOFFYAML.h:69
llvm::yaml::Hex64 SymbolIndex
Definition XCOFFYAML.h:67
llvm::yaml::Hex8 Info
Definition XCOFFYAML.h:68
llvm::yaml::Hex64 VirtualAddress
Definition XCOFFYAML.h:66
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:178
SectAuxEntForDWARF()
Definition XCOFFYAML.h:177
std::optional< uint32_t > NumberOfRelocEnt
Definition XCOFFYAML.h:175
std::optional< uint32_t > LengthOfSectionPortion
Definition XCOFFYAML.h:174
static bool classof(const AuxSymbolEnt *S)
Definition XCOFFYAML.h:189
std::optional< uint16_t > NumberOfRelocEnt
Definition XCOFFYAML.h:185
SectAuxEntForStat()
Definition XCOFFYAML.h:188
std::optional< uint16_t > NumberOfLineNum
Definition XCOFFYAML.h:186
std::optional< uint32_t > SectionLength
Definition XCOFFYAML.h:184
Definition XCOFFYAML.h:72
llvm::yaml::Hex64 FileOffsetToRelocations
Definition XCOFFYAML.h:77
llvm::yaml::Hex64 Address
Definition XCOFFYAML.h:74
std::optional< XCOFF::DwarfSectionSubtypeFlags > SectionSubtype
Definition XCOFFYAML.h:82
llvm::yaml::Hex64 Size
Definition XCOFFYAML.h:75
llvm::yaml::Hex64 FileOffsetToData
Definition XCOFFYAML.h:76
yaml::BinaryRef SectionData
Definition XCOFFYAML.h:83
std::vector< Relocation > Relocations
Definition XCOFFYAML.h:84
StringRef SectionName
Definition XCOFFYAML.h:73
uint32_t Flags
Definition XCOFFYAML.h:81
llvm::yaml::Hex16 NumberOfLineNumbers
Definition XCOFFYAML.h:80
llvm::yaml::Hex16 NumberOfRelocations
Definition XCOFFYAML.h:79
llvm::yaml::Hex64 FileOffsetToLineNumbers
Definition XCOFFYAML.h:78
Definition XCOFFYAML.h:205
std::optional< yaml::BinaryRef > RawContent
Definition XCOFFYAML.h:210
std::optional< std::vector< StringRef > > Strings
Definition XCOFFYAML.h:209
std::optional< uint32_t > Length
Definition XCOFFYAML.h:207
std::optional< uint32_t > ContentSize
Definition XCOFFYAML.h:206
Definition XCOFFYAML.h:194
std::vector< std::unique_ptr< AuxSymbolEnt > > AuxEntries
Definition XCOFFYAML.h:202
std::optional< uint16_t > SectionIndex
Definition XCOFFYAML.h:198
std::optional< uint8_t > NumberOfAuxEntries
Definition XCOFFYAML.h:201
llvm::yaml::Hex64 Value
Definition XCOFFYAML.h:196
llvm::yaml::Hex16 Type
Definition XCOFFYAML.h:199
XCOFF::StorageClass StorageClass
Definition XCOFFYAML.h:200
std::optional< StringRef > SectionName
Definition XCOFFYAML.h:197
StringRef SymbolName
Definition XCOFFYAML.h:195
static void mapping(IO &IO, XCOFFYAML::Object &Obj)
static void mapping(IO &IO, XCOFFYAML::Relocation &R)
static void mapping(IO &IO, XCOFFYAML::Section &Sec)
static void mapping(IO &IO, XCOFFYAML::StringTable &Str)
static void mapping(IO &IO, XCOFFYAML::Symbol &S)
static void mapping(IO &IO, std::unique_ptr< XCOFFYAML::AuxSymbolEnt > &AuxSym)
This class should be specialized by any type that needs to be converted to/from a YAML mapping.
static void bitset(IO &IO, XCOFF::SectionTypeFlags &Value)
This class should be specialized by any integer type that is a union of bit values and the YAML repre...
static void enumeration(IO &IO, XCOFFYAML::AuxSymbolType &Type)
static void enumeration(IO &IO, XCOFF::CFileStringType &Type)
static void enumeration(IO &IO, XCOFF::DwarfSectionSubtypeFlags &Value)
static void enumeration(IO &IO, XCOFF::StorageClass &Value)
static void enumeration(IO &IO, XCOFF::StorageMappingClass &Value)
static void enumeration(IO &IO, XCOFF::SymbolType &Value)
This class should be specialized by any integral type that converts to/from a YAML scalar where there...