LLVM: include/llvm/Object/MachOUniversal.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_OBJECT_MACHOUNIVERSAL_H

14#define LLVM_OBJECT_MACHOUNIVERSAL_H

15

22

23namespace llvm {

26

30

32 virtual void anchor();

33

36public:

38

41

43

46

47 public:

49

51 Parent = nullptr;

52 Index = 0;

53 }

54

56 return (Parent == Other.Parent) && (Index == Other.Index);

57 }

58

62 return Header.cputype;

63 else

64 return Header64.cputype;

65 }

68 return Header.cpusubtype;

69 else

70 return Header64.cpusubtype;

71 }

74 return Header.offset;

75 else

76 return Header64.offset;

77 }

80 return Header.size;

81 else

82 return Header64.size;

83 }

86 return Header.align;

87 else

88 return Header64.align;

89 }

92 return 0;

93 else

94 return Header64.reserved;

95 }

100 const char *McpuDefault, *ArchFlag;

102 &McpuDefault, &ArchFlag);

103 return ArchFlag ? ArchFlag : std::string();

104 }

105

109

111 };

112

115 public:

119

121 return Obj == Other.Obj;

122 }

124 return !(*this == Other);

125 }

126

128 Obj = Obj.getNext();

129 return *this;

130 }

131 };

132

136

143

147

150

151

153 return V->isMachOUniversalBinary();

154 }

155

157 getObjectForArch(StringRef ArchName) const;

158

160 getMachOObjectForArch(StringRef ArchName) const;

161

164

166 getArchiveForArch(StringRef ArchName) const;

167};

168}

169}

170

171#endif

static unsigned getCPUType(const MachOObjectFile &O)

static unsigned getCPUSubType(const MachOObjectFile &O)

Lightweight error class with error context and mandatory checking.

Tagged union holding either a T or a Error.

This is an important class for using LLVM in a threaded context.

StringRef - Represent a constant reference to a string, i.e.

Triple - Helper class for working with autoconf configuration names.

A range adaptor for a pair of iterators.

Binary(unsigned int Type, MemoryBufferRef Source)

Triple getArchTriple(const char **McpuDefault=nullptr) const

Definition MachOUniversal.h:39

ObjectForArch getNext() const

Definition MachOUniversal.h:59

uint64_t getSize() const

Definition MachOUniversal.h:78

uint32_t getReserved() const

Definition MachOUniversal.h:90

uint32_t getCPUType() const

Definition MachOUniversal.h:60

uint64_t getOffset() const

Definition MachOUniversal.h:72

uint32_t getAlign() const

Definition MachOUniversal.h:84

Triple getTriple() const

Definition MachOUniversal.h:96

void clear()

Definition MachOUniversal.h:50

std::string getArchFlagName() const

Definition MachOUniversal.h:99

uint32_t getCPUSubType() const

Definition MachOUniversal.h:66

LLVM_ABI ObjectForArch(const MachOUniversalBinary *Parent, uint32_t Index)

bool operator==(const ObjectForArch &Other) const

Definition MachOUniversal.h:55

Definition MachOUniversal.h:113

object_iterator(const ObjectForArch &Obj)

Definition MachOUniversal.h:116

object_iterator & operator++()

Definition MachOUniversal.h:127

const ObjectForArch * operator->() const

Definition MachOUniversal.h:117

bool operator==(const object_iterator &Other) const

Definition MachOUniversal.h:120

bool operator!=(const object_iterator &Other) const

Definition MachOUniversal.h:123

const ObjectForArch & operator*() const

Definition MachOUniversal.h:118

Definition MachOUniversal.h:31

object_iterator begin_objects() const

Definition MachOUniversal.h:137

MachOUniversalBinary(MemoryBufferRef Souce, Error &Err)

object_iterator end_objects() const

Definition MachOUniversal.h:140

uint32_t getMagic() const

Definition MachOUniversal.h:148

iterator_range< object_iterator > objects() const

Definition MachOUniversal.h:144

static bool classof(Binary const *V)

Definition MachOUniversal.h:152

uint32_t getNumberOfObjects() const

Definition MachOUniversal.h:149

static constexpr uint32_t MaxSectionAlignment

Definition MachOUniversal.h:37

This provides a very simple, boring adaptor for a begin and end iterator into a range type.

This is an optimization pass for GlobalISel generic memory operations.

iterator_range< T > make_range(T x, T y)

Convenience function for iterating over sub-ranges.