summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/WinCOFFStreamer.cpp
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2015-06-08 17:17:19 +0000
committerPete Cooper <peter_cooper@apple.com>2015-06-08 17:17:19 +0000
commit6bf1f3008c46135f03fa4b7d0b473161f8ed68fc (patch)
tree0dd3d198ba66bcc62c236f3a55c2a32af57e6328 /llvm/lib/MC/WinCOFFStreamer.cpp
parent0854f93021761f0e161537845c447f25e380ccd4 (diff)
downloadbcm5719-llvm-6bf1f3008c46135f03fa4b7d0b473161f8ed68fc.tar.gz
bcm5719-llvm-6bf1f3008c46135f03fa4b7d0b473161f8ed68fc.zip
Move all of the MCSymbol COFF flags logic in to MCSymbolCOFF.
All flags setting/getting is now done in the class with helper methods instead of users having to get the bits in the correct order. Reviewed by Rafael EspĂ­ndola. llvm-svn: 239314
Diffstat (limited to 'llvm/lib/MC/WinCOFFStreamer.cpp')
-rw-r--r--llvm/lib/MC/WinCOFFStreamer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/MC/WinCOFFStreamer.cpp b/llvm/lib/MC/WinCOFFStreamer.cpp
index 8f33c78a837..41fc8e4681e 100644
--- a/llvm/lib/MC/WinCOFFStreamer.cpp
+++ b/llvm/lib/MC/WinCOFFStreamer.cpp
@@ -102,7 +102,7 @@ bool MCWinCOFFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
default: return false;
case MCSA_WeakReference:
case MCSA_Weak:
- Symbol->modifyFlags(COFF::SF_WeakExternal, COFF::SF_WeakExternal);
+ cast<MCSymbolCOFF>(Symbol)->setIsWeakExternal();
Symbol->setExternal(true);
break;
case MCSA_Global:
@@ -137,8 +137,7 @@ void MCWinCOFFStreamer::EmitCOFFSymbolStorageClass(int StorageClass) {
"' out of range");
getAssembler().registerSymbol(*CurSymbol);
- CurSymbol->modifyFlags(StorageClass << COFF::SF_ClassShift,
- COFF::SF_ClassMask);
+ cast<MCSymbolCOFF>(CurSymbol)->setClass((uint16_t)StorageClass);
}
void MCWinCOFFStreamer::EmitCOFFSymbolType(int Type) {
@@ -165,7 +164,7 @@ void MCWinCOFFStreamer::EmitCOFFSafeSEH(MCSymbol const *Symbol) {
Triple::x86)
return;
- if (Symbol->getFlags() & COFF::SF_SafeSEH)
+ if (cast<MCSymbolCOFF>(Symbol)->isSafeSEH())
return;
MCSection *SXData = getContext().getObjectFileInfo()->getSXDataSection();
@@ -176,7 +175,7 @@ void MCWinCOFFStreamer::EmitCOFFSafeSEH(MCSymbol const *Symbol) {
new MCSafeSEHFragment(Symbol, SXData);
getAssembler().registerSymbol(*Symbol);
- Symbol->modifyFlags(COFF::SF_SafeSEH, COFF::SF_SafeSEH);
+ cast<MCSymbolCOFF>(Symbol)->setIsSafeSEH();
}
void MCWinCOFFStreamer::EmitCOFFSectionIndex(MCSymbol const *Symbol) {
OpenPOWER on IntegriCloud