[llvm-commits] [llvm] r78603 - in /llvm/trunk/lib/Target/PIC16: PIC16DebugInfo.cpp PIC16DebugInfo.h

Sanjiv Gupta sanjiv.gupta at microchip.com
Fri Aug 14 12:16:53 PDT 2009


>> No. This doesn't work.
>> I don't see processModule() handling Composites.
>
> It does, see processType(). Are you hitting a breakpoint at  addType() ?
>
> /// processType - Process DIType.
> void DebugInfoFinder::processType(DIType DT) {
>   if (!addType(DT))
>     return;
>
> -
> Devang
Right. Using type_begin() iterator we can iterate over composite types.
But there are more problems caused by 78603 in PIC16DebugInfo. We rely 
on the NameStr of composite types descriptors
 for the correctness of debug info, which is broken after your changes. 
This dependence is because when llvm-ld merges the debug descriptors for 
two aggregate types with same name in two different files, the names of 
composite type descriptors are changed (renumbered) but the names of the 
contained aggregate types inside do not change.


>>
>> What we have there is below:
>>
>> if (!GV->hasName() || !GV->isConstant()
>>       || strcmp(GV->getName().data(), "llvm.dbg.global_variable")
>>       || !GV->hasInitializer())
>>     continue;
>>
>> - Sanjiv
>>
>




More information about the llvm-commits mailing list