9#ifndef LLVM_MC_MCSYMBOLCOFF_H
10#define LLVM_MC_MCSYMBOLCOFF_H
24 SF_ClassMask = 0x00FF,
28 SF_WeakExternalCharacteristicsMask = 0x0E00,
29 SF_WeakExternalCharacteristicsShift = 9,
47 return (
getFlags() & SF_ClassMask) >> SF_ClassShift;
55 SF_WeakExternalCharacteristicsShift);
58 modifyFlags(Characteristics << SF_WeakExternalCharacteristicsShift,
59 SF_WeakExternalCharacteristicsMask);
void setIsWeakExternal(bool WeakExt) const
void setWeakExternalCharacteristics(COFF::WeakExternalCharacteristics Characteristics) const
void setIsSafeSEH() const
void setType(uint16_t Ty) const
void setClass(uint16_t StorageClass) const
MCSymbolCOFF(const MCSymbolTableEntry *Name, bool isTemporary)
void setExternal(bool Value) const
COFF::WeakExternalCharacteristics getWeakExternalCharacteristics() const
uint16_t getClass() const
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).