[lldb-dev] [PATCH] Use 0 as LLDB_INVALID_LINE_NUMBER

Greg Clayton gclayton at apple.com
Fri Mar 14 11:29:20 PDT 2014


I agree with Jim in that it is nice to know when a compiler told us line 0, versus "invalid info" where UINT32_MAX is the value. I would vote to leave things as is unless you have a convincing argument otherwise.


On Mar 14, 2014, at 11:21 AM, jingham at apple.com wrote:

> lldb uses LLDB_INVALID_LINE_NUMBER to mean line number information is not available, and 0 to mean this is code that was generated by the compiler, but is artificial.  That's the way clang marks code (e.g. junk generated by ARC) that lldb will need to step through, or whatever, but should not show to the user.
> 
> That's a useful distinction, and I'd like to maintain it.  What bad behavior are you seeing based on this?
> 
> Jim
> 
> On Mar 14, 2014, at 1:49 AM, Andrew MacPherson <andrew.macp at gmail.com> wrote:
> 
>> gdb assumes that any debug entry with a line number of 0 means that line number information is not available (see struct symtab_and_line here):
>> 
>> http://www.opensource.apple.com/source/gdb/gdb-967/src/gdb/symtab.h
>> 
>> lldb currently uses UINT32_MAX for the same thing.
>> 
>> I suggest changing lldb to use the same value as gdb so that it's possible to mark line entry data as invalid in the same way for both debuggers.
>> 
>> Thanks,
>> Andrew
>> <invalid-line-number.patch>_______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev




More information about the lldb-dev mailing list