[llvm] r221031 - Add DwarfCompileUnit::getSkeleton that returns DwarfCompileUnit* to avoid having to cast from DwarfUnit* on every call.

David Blaikie dblaikie at gmail.com
Fri Oct 31 18:29:04 PDT 2014


On Fri, Oct 31, 2014 at 6:26 PM, Nick Lewycky <nlewycky at google.com> wrote:

> On 31 October 2014 17:50, David Blaikie <dblaikie at gmail.com> wrote:
>
>> Author: dblaikie
>> Date: Fri Oct 31 19:50:34 2014
>> New Revision: 221031
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=221031&view=rev
>> Log:
>> Add DwarfCompileUnit::getSkeleton that returns DwarfCompileUnit* to avoid
>> having to cast from DwarfUnit* on every call.
>>
>> Modified:
>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h?rev=221031&r1=221030&r2=221031&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h Fri Oct 31
>> 19:50:34 2014
>> @@ -42,6 +42,10 @@ public:
>>    DwarfCompileUnit(unsigned UID, DICompileUnit Node, AsmPrinter *A,
>>                     DwarfDebug *DW, DwarfFile *DWU);
>>
>> +  DwarfCompileUnit *getSkeleton() const {
>> +    return static_cast<DwarfCompileUnit *>(Skeleton);
>> +  }
>> +
>>    void initStmtList(MCSymbol *DwarfLineSectionSym);
>>
>>    /// Apply the DW_AT_stmt_list from this compile unit to the specified
>> DIE.
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=221031&r1=221030&r2=221031&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Oct 31 19:50:34
>> 2014
>> @@ -550,8 +550,7 @@ void DwarfDebug::finalizeModuleInfo() {
>>      if (TheU->getUnitDie().getTag() == dwarf::DW_TAG_compile_unit) {
>>        // If we're splitting the dwarf out now that we've got the entire
>>        // CU then add the dwo id to it.
>> -      DwarfCompileUnit *SkCU =
>> -          static_cast<DwarfCompileUnit *>(TheU->getSkeleton());
>> +      DwarfCompileUnit *SkCU = TheU->getSkeleton();
>>
>
> *lib/CodeGen/AsmPrinter/DwarfDebug.cpp:553:25: error: cannot initialize a
> variable of type 'llvm::DwarfCompileUnit *' with an rvalue of type
> 'llvm::DwarfUnit *'*
>       DwarfCompileUnit *SkCU = TheU->getSkeleton();
>                         ^      ~~~~~~~~~~~~~~~~~~~
> 1 error generated.
>
> David, please take a look?
>
Yerp, late on a Friday, clearly - sorry for the noise.

This was fixed in 221034 which was itself fixed in 221036


>        if (useSplitDwarf()) {
>>          // Emit a unique identifier for this CU.
>>          uint64_t ID =
>> DIEHash(Asm).computeCUSignature(TheU->getUnitDie());
>> @@ -1580,7 +1579,7 @@ void DwarfDebug::emitDebugPubSection(
>>      if (Globals.empty())
>>        continue;
>>
>> -    if (auto Skeleton = static_cast<DwarfCompileUnit
>> *>(TheU->getSkeleton()))
>> +    if (auto Skeleton = TheU->getSkeleton())
>>        TheU = Skeleton;
>>      unsigned ID = TheU->getUniqueID();
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141031/e97e52e3/attachment.html>


More information about the llvm-commits mailing list