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