LLVM: lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

10

17

18using namespace llvm;

22

26 NamedStreams(NamedStreams) {

27 ::memset(&Guid, 0, sizeof(Guid));

28}

29

31

33 Features.push_back(Sig);

34}

35

37 HashPDBContentsToGUID = B;

38}

39

41

43

45

46

49 NamedStreams.calculateSerializedLength() +

50 (Features.size() + 1) * sizeof(uint32_t);

52 return EC;

54}

55

60 Layout, Buffer, StreamPDB, Msf.getAllocator());

62

64

65

66 ::memset(&H, 0, sizeof(H));

67 H.Version = Ver;

69 return EC;

70

71 if (auto EC = NamedStreams.commit(Writer))

72 return EC;

74 return EC;

75 for (auto E : Features) {

77 return EC;

78 }

81}

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

Provides write only access to a subclass of WritableBinaryStream.

Error writeInteger(T Value)

Write the integer Value to the underlying stream in the specified endianness.

uint64_t bytesRemaining() const

Error writeEnum(T Num)

Similar to writeInteger.

Error writeObject(const T &Obj)

Writes the object Obj to the underlying stream, as if by using memcpy.

Lightweight error class with error context and mandatory checking.

static ErrorSuccess success()

Create a success value.

The TimeTraceScope is a helper class to call the begin and end functions of the time trace profiler.

static std::unique_ptr< WritableMappedBlockStream > createIndexedStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData, uint32_t StreamIndex, BumpPtrAllocator &Allocator)

LLVM_ABI void setSignature(uint32_t S)

Definition InfoStreamBuilder.cpp:42

LLVM_ABI void addFeature(PdbRaw_FeatureSig Sig)

Definition InfoStreamBuilder.cpp:32

LLVM_ABI Error finalizeMsfLayout()

Definition InfoStreamBuilder.cpp:47

LLVM_ABI Error commit(const msf::MSFLayout &Layout, WritableBinaryStreamRef Buffer) const

Definition InfoStreamBuilder.cpp:56

LLVM_ABI InfoStreamBuilder(msf::MSFBuilder &Msf, NamedStreamMap &NamedStreams)

Definition InfoStreamBuilder.cpp:23

LLVM_ABI void setVersion(PdbRaw_ImplVer V)

Definition InfoStreamBuilder.cpp:30

LLVM_ABI void setAge(uint32_t A)

Definition InfoStreamBuilder.cpp:40

LLVM_ABI void setHashPDBContentsToGUID(bool B)

Definition InfoStreamBuilder.cpp:36

LLVM_ABI void setGuid(codeview::GUID G)

Definition InfoStreamBuilder.cpp:44

This is an optimization pass for GlobalISel generic memory operations.

This represents the 'GUID' type from windows.h.