[llvm] r207124 - Spread some const around for non-mutating uses of MCSymbolData.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Apr 25 10:32:23 PDT 2014


On 24 April 2014 12:59, David Blaikie <dblaikie at gmail.com> wrote:
> Author: dblaikie
> Date: Thu Apr 24 11:59:40 2014
> New Revision: 207124
>
> URL: http://llvm.org/viewvc/llvm-project?rev=207124&view=rev
> Log:
> Spread some const around for non-mutating uses of MCSymbolData.
>
> I discovered this const-hole while attempting to coalesnce the Symbol
> and SymbolMap data structures. There's some pending issues with that,
> but I figured this change was easy to flush early.
>
> Modified:
>     llvm/trunk/include/llvm/MC/MCAssembler.h
>     llvm/trunk/lib/MC/ELFObjectWriter.cpp
>     llvm/trunk/lib/MC/MCExpr.cpp
>     llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
>     llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
>     llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>     llvm/trunk/lib/Target/ARM64/MCTargetDesc/ARM64MachObjectWriter.cpp
>     llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
>     llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
>
> Modified: llvm/trunk/include/llvm/MC/MCAssembler.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCAssembler.h?rev=207124&r1=207123&r2=207124&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/MCAssembler.h (original)
> +++ llvm/trunk/include/llvm/MC/MCAssembler.h Thu Apr 24 11:59:40 2014
> @@ -1207,7 +1207,13 @@ public:
>      return SymbolMap.lookup(&Symbol) != nullptr;
>    }
>
> -  MCSymbolData &getSymbolData(const MCSymbol &Symbol) const {
> +  MCSymbolData &getSymbolData(const MCSymbol &Symbol) {
> +    MCSymbolData *Entry = SymbolMap.lookup(&Symbol);
> +    assert(Entry && "Missing symbol data!");
> +    return *Entry;
> +  }
> +
> +  const MCSymbolData &getSymbolData(const MCSymbol &Symbol) const {

Could one of these methods call the other and const_cast?

Cheers,
Rafael



More information about the llvm-commits mailing list