This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add proper handling for non-local references in nested functions


Pierre-Marie de Rodat <derodat@adacore.com> writes:
> On 07/22/2015 04:26 PM, Doug Evans wrote:
>> One thought that comes to mind when reading the patch is that
>> you introduce the term "static link", and it doesn't mean what
>> the casual reader will think it means.
>>
>> E.g.,
>>
>> +     This method is designed to work with static links (nested
>> functions
>> +     handling).  Static links are function properties whose
>> evaluation return
>> +     the frame base address for the enclosing frame.
>>
>> I think we need something less ambiguous / more clear.
>
> Having dived in nested functions, âstatic linkâ is currently wired in
> my mind to nested functions. ;-) What do you think it can be confused
> with? Statically linked libraries?

Mostly that there's nothing in the reading of "static link" that tells me it
would be anything else. Obviously a casual reader will think it's
*probably* not that, but in the absence of any cues this reader is left
wondering where did this term come from.

> One advantage of âstatic linkâ is that itâs the term which the DWARF
> specification uses. GCC says âstatic chainâ instead and Iâve read
> somewhere âactivation recordâ, although it actually means: the record
> pointed to by the static chain.

Bleah, I wasn't aware of this term's usage in DWARF.
That's a good point.
I'd be ok with a comment in a couple of key locations that say
the term is derived from DW_AT_static_link.
[I know you mention it in at least one place, but IWBN
if it were mentioned in, e.g., the description of block_static_link.]

> I liked the one I used because of the DWARF specification vocabulary,
> but Iâm open to changing it if itâs confusing.
>
> Thanks in advance for the review!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]