diff options
author | Fangrui Song <i@maskray.me> | 2025-08-22 00:25:55 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2025-08-22 00:25:55 -0700 |
commit | 06ab660911eef084716fdc6f13595cdbff9da08a (patch) | |
tree | f2fb6564273f9ef95e737416307b8d7482534c13 /llvm/lib/MC/MCMachOStreamer.cpp | |
parent | 36dc6146b8f35ebf38384896e80e8fcabbddfb54 (diff) | |
download | llvm-06ab660911eef084716fdc6f13595cdbff9da08a.zip llvm-06ab660911eef084716fdc6f13595cdbff9da08a.tar.gz llvm-06ab660911eef084716fdc6f13595cdbff9da08a.tar.bz2 |
MCSymbol: Avoid isExported/setExported
The next change will move these methods from the base class.
Diffstat (limited to 'llvm/lib/MC/MCMachOStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCMachOStreamer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/MC/MCMachOStreamer.cpp b/llvm/lib/MC/MCMachOStreamer.cpp index 6226b02..2b7a248 100644 --- a/llvm/lib/MC/MCMachOStreamer.cpp +++ b/llvm/lib/MC/MCMachOStreamer.cpp @@ -149,7 +149,7 @@ void MCMachOStreamer::emitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) { auto *Sym = static_cast<const MCSymbolMachO *>(Symbol); getAssembler().registerSymbol(*Symbol); - if (Symbol->isExternal()) + if (Sym->isExternal()) emitSymbolAttribute(EHSymbol, MCSA_Global); if (Sym->isWeakDefinition()) emitSymbolAttribute(EHSymbol, MCSA_WeakDefinition); @@ -372,12 +372,13 @@ void MCMachOStreamer::emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { void MCMachOStreamer::emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) { + auto &Sym = static_cast<MCSymbolMachO &>(*Symbol); // FIXME: Darwin 'as' does appear to allow redef of a .comm by itself. assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); - getAssembler().registerSymbol(*Symbol); - Symbol->setExternal(true); - Symbol->setCommon(Size, ByteAlignment); + getAssembler().registerSymbol(Sym); + Sym.setExternal(true); + Sym.setCommon(Size, ByteAlignment); } void MCMachOStreamer::emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, @@ -460,7 +461,8 @@ void MCMachOStreamer::finishImpl() { } void MCMachOStreamer::finalizeCGProfileEntry(const MCSymbolRefExpr *&SRE) { - const MCSymbol *S = &SRE->getSymbol(); + auto *S = + static_cast<MCSymbolMachO *>(const_cast<MCSymbol *>(&SRE->getSymbol())); if (getAssembler().registerSymbol(*S)) S->setExternal(true); } |