LLVM: include/llvm/DebugInfo/PDB/Native/TpiHashing.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_TPIHASHING_H

10#define LLVM_DEBUGINFO_PDB_NATIVE_TPIHASHING_H

11

15

16namespace llvm {

17namespace pdb {

18

20

27

33

39

42

44 switch (State) {

45 case 0:

47 case 1:

49 case 2:

51 }

53 }

54

55private:

56 union {

60 };

61

63};

64

65

66

68

69}

70}

71

72#endif

Tagged union holding either a T or a Error.

The instances of the Type class are immutable: once they are created, they are never changed.

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

CVRecord< TypeLeafKind > CVType

LLVM_ABI Expected< uint32_t > hashTypeRecord(const llvm::codeview::CVType &Type)

LLVM_ABI Expected< TagRecordHash > hashTagRecord(const codeview::CVType &Type)

Given a CVType referring to a class, structure, union, or enum, compute the hash of its forward decl ...

This is an optimization pass for GlobalISel generic memory operations.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.

codeview::ClassRecord Class

Definition TpiHashing.h:57

codeview::EnumRecord Enum

Definition TpiHashing.h:58

TagRecordHash(codeview::UnionRecord UR, uint32_t Full, uint32_t Forward)

Definition TpiHashing.h:34

TagRecordHash(codeview::EnumRecord ER, uint32_t Full, uint32_t Forward)

Definition TpiHashing.h:28

codeview::TagRecord & getRecord()

Definition TpiHashing.h:43

codeview::UnionRecord Union

Definition TpiHashing.h:59

TagRecordHash(codeview::ClassRecord CR, uint32_t Full, uint32_t Forward)

Definition TpiHashing.h:22

uint32_t ForwardDeclHash

Definition TpiHashing.h:41

uint32_t FullRecordHash

Definition TpiHashing.h:40