LLVM: include/llvm/DebugInfo/CodeView/RecordSerialization.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_CODEVIEW_RECORDSERIALIZATION_H

10#define LLVM_DEBUGINFO_CODEVIEW_RECORDSERIALIZATION_H

11

20#include

21

22namespace llvm {

28

29

30

32

40

41

42

45

47

48

49

50

51

53

54

56

57

60

61

63

66

67

68

72

85

86template <typename T, typename U>

90

101

104

107

108 while (!Reader.empty() && Reader.peek() < LF_PAD0) {

110 return EC;

112 }

114 }

115

117};

118

122

124 if (Reader.empty())

126 "Null terminated string is empty!");

127

128 while (Reader.peek() != 0) {

131 return EC;

133 }

134 return Reader.skip(1);

135 }

136

137 std::vector &Item;

138};

139

150

160

161template <typename T, typename U>

165

166inline serialize_null_term_string_array_impl

170

171template

175

176template

180

184

185template <typename T, typename U>

190

191template <typename T, typename U>

196

201

202template

207

208template

213

214template

219

220template <typename T, typename U, typename... Args>

223 return EC;

224 return consume(Reader, Y, std::forward(Rest)...);

225}

226

227}

228}

229

230#endif

OptimizedStructLayoutField Field

static TableGen::Emitter::Opt Y("gen-skeleton-entry", EmitSkeleton, "Generate example skeleton entry")

static TableGen::Emitter::OptClass< SkeletonEmitter > X("gen-skeleton-class", "Generate example skeleton class")

An arbitrary precision integer that knows its signedness.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Provides read only access to a subclass of BinaryStream.

Error readObject(const T *&Dest)

Get a pointer to an object of type T from the underlying stream, as if by memcpy, and store the resul...

LLVM_ABI Error readCString(StringRef &Dest)

Read a null terminated string from Dest.

LLVM_ABI uint8_t peek() const

Examine the next byte of the underlying stream without advancing the stream's offset.

uint64_t bytesRemaining() const

Error readArray(ArrayRef< T > &Array, uint32_t NumElements)

Get a reference to a NumElements element array of objects of type T from the underlying stream as if ...

LLVM_ABI Error skip(uint64_t Amount)

Advance the stream's offset by Amount bytes.

Lightweight error class with error context and mandatory checking.

static ErrorSuccess success()

Create a success value.

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

LLVM Value Representation.

serialize_vector_tail_impl< T > serialize_array_tail(std::vector< T > &Item)

Definition RecordSerialization.h:172

LLVM_ABI Error consume_numeric(BinaryStreamReader &Reader, uint64_t &Value)

Decodes a numeric leaf value that is known to be a particular type.

serialize_null_term_string_array_impl serialize_null_term_string_array(std::vector< StringRef > &Item)

Definition RecordSerialization.h:167

LLVM_ABI StringRef getBytesAsCString(ArrayRef< uint8_t > LeafData)

serialize_array_impl< T, U > serialize_array(ArrayRef< T > &Item, U Func)

Definition RecordSerialization.h:162

serialize_numeric_impl< T > serialize_numeric(T &Item)

Definition RecordSerialization.h:181

LLVM_ABI StringRef getBytesAsCharacters(ArrayRef< uint8_t > LeafData)

Reinterpret a byte array as an array of characters.

@ MaxRecordLength

Definition RecordSerialization.h:31

serialize_conditional_impl< T, U > serialize_conditional(T &Item, U Func)

Definition RecordSerialization.h:87

detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t

detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_t

detail::packed_endian_specific_integral< int32_t, llvm::endianness::little, unaligned > little32_t

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr Count

Error make_error(ArgTs &&... Args)

Make a Error instance representing failure using the given error info type.

FunctionAddr VTableAddr uintptr_t uintptr_t Data

ulittle16_t RecordKind

Definition RecordSerialization.h:38

RecordPrefix(uint16_t Kind)

Definition RecordSerialization.h:35

ulittle16_t RecordLen

Definition RecordSerialization.h:37

ArrayRef< T > & Item

Definition RecordSerialization.h:98

U Func

Definition RecordSerialization.h:99

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:94

serialize_array_impl(ArrayRef< T > &Item, U Func)

Definition RecordSerialization.h:92

ArrayRef< T > & Item

Definition RecordSerialization.h:148

serialize_arrayref_tail_impl(ArrayRef< T > &Item)

Definition RecordSerialization.h:141

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:143

U Func

Definition RecordSerialization.h:83

T & Item

Definition RecordSerialization.h:82

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:76

serialize_conditional_impl(T &Item, U Func)

Definition RecordSerialization.h:74

serialize_null_term_string_array_impl(std::vector< StringRef > &Item)

Definition RecordSerialization.h:120

std::vector< StringRef > & Item

Definition RecordSerialization.h:137

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:123

serialize_numeric_impl(T &Item)

Definition RecordSerialization.h:152

T & Item

Definition RecordSerialization.h:158

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:154

serialize_vector_tail_impl(std::vector< T > &Item)

Definition RecordSerialization.h:103

std::vector< T > & Item

Definition RecordSerialization.h:116

Error deserialize(BinaryStreamReader &Reader) const

Definition RecordSerialization.h:105