[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