LLVM: include/llvm/MC/MCSymbolCOFF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_MC_MCSYMBOLCOFF_H
10#define LLVM_MC_MCSYMBOLCOFF_H
11
15#include
16
17namespace llvm {
18
20
22
24 SF_ClassMask = 0x00FF,
25 SF_ClassShift = 0,
26
27 SF_SafeSEH = 0x0100,
28 SF_WeakExternalCharacteristicsMask = 0x0E00,
29 SF_WeakExternalCharacteristicsShift = 9,
30 };
31
32public:
35
38
45
47 return (getFlags() & SF_ClassMask) >> SF_ClassShift;
48 }
52
55 SF_WeakExternalCharacteristicsShift);
56 }
58 modifyFlags(Characteristics << SF_WeakExternalCharacteristicsShift,
59 SF_WeakExternalCharacteristicsMask);
60 }
64
71};
72
73}
74
75#endif
bool isExternal() const
Definition MCSymbolCOFF.h:36
void setIsWeakExternal(bool WeakExt) const
Definition MCSymbolCOFF.h:61
void setWeakExternalCharacteristics(COFF::WeakExternalCharacteristics Characteristics) const
Definition MCSymbolCOFF.h:57
void setIsSafeSEH() const
Definition MCSymbolCOFF.h:68
uint16_t getType() const
Definition MCSymbolCOFF.h:39
void setType(uint16_t Ty) const
Definition MCSymbolCOFF.h:42
bool isSafeSEH() const
Definition MCSymbolCOFF.h:65
void setClass(uint16_t StorageClass) const
Definition MCSymbolCOFF.h:49
MCSymbolCOFF(const MCSymbolTableEntry *Name, bool isTemporary)
Definition MCSymbolCOFF.h:33
void setExternal(bool Value) const
Definition MCSymbolCOFF.h:37
COFF::WeakExternalCharacteristics getWeakExternalCharacteristics() const
Definition MCSymbolCOFF.h:53
uint16_t getClass() const
Definition MCSymbolCOFF.h:46
unsigned IsWeakExternal
This symbol is weak external.
MCSymbol(const MCSymbolTableEntry *Name, bool isTemporary)
void modifyFlags(uint32_t Value, uint32_t Mask) const
Modify the flags via a mask.
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
unsigned IsExternal
True if this symbol is visible outside this translation unit.
bool isTemporary() const
isTemporary - Check if this is an assembler temporary symbol.
const MCExpr * Value
If non-null, the value for a variable symbol.
WeakExternalCharacteristics
This is an optimization pass for GlobalISel generic memory operations.
StringMapEntry< MCSymbolTableValue > MCSymbolTableEntry
MCContext stores MCSymbolTableValue in a string map (see MCSymbol::operator new).