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...