[cfe-dev] PATCH: Cleanup function redeclaration representations

Chris Lattner clattner at apple.com
Sun May 4 16:23:57 PDT 2008


On May 4, 2008, at 4:17 PM, Argiris Kirtzidis wrote:
>> The consumer receives #2 :
>> 2: foo [nextredecl=null]   void foo(int x, int y=2);
>>
>> This way they can get #1 from #2, and they can even get A from 2...  
>> but that Sema can poke A efficiently.
>
> Oh, if a separate aggregate is not created because #1 is the  
> aggregate:
>
> 1: foo [nextredecl=2]    void foo(int x, int y);
> 2: foo [nextredecl=1]    void foo(int x, int y);
>
> You need a 'isAggregate' bool then; this seems to negate the benefit  
> over the double linked list, is this correct ?

Makes sense to me!  An isAggregate bool is cheaper than the memory  
cost of a doubly linked list.

-Chris




More information about the cfe-dev mailing list