unsigned MCSymbolELF::getBinding() const {
if (isBindingSet()) {
- uint32_t Val = (getFlags() & (0x3 << ELF_STB_Shift)) >> ELF_STB_Shift;
+ uint32_t Val = (Flags >> ELF_STB_Shift) & 3;
switch (Val) {
default:
llvm_unreachable("Invalid value");
}
unsigned MCSymbolELF::getType() const {
- uint32_t Val = (getFlags() & (0x7 << ELF_STT_Shift)) >> ELF_STT_Shift;
+ uint32_t Val = (Flags >> ELF_STT_Shift) & 7;
switch (Val) {
default:
llvm_unreachable("Invalid value");
}
unsigned MCSymbolELF::getVisibility() const {
- unsigned Visibility = (getFlags() & (0x3 << ELF_STV_Shift)) >> ELF_STV_Shift;
- assert(Visibility == ELF::STV_DEFAULT || Visibility == ELF::STV_INTERNAL ||
- Visibility == ELF::STV_HIDDEN || Visibility == ELF::STV_PROTECTED);
+ unsigned Visibility = (Flags >> ELF_STV_Shift) & 3;
return Visibility;
}
}
unsigned MCSymbolELF::getOther() const {
- unsigned Other = (getFlags() & (0x7 << ELF_STO_Shift)) >> ELF_STO_Shift;
+ unsigned Other = (Flags >> ELF_STO_Shift) & 7;
return Other << 5;
}