"But because their source lines are outside the function source range"

Not sure I understand that - the DWARF doesn't describe a function
source range, right? Only the line a function starts on. And a
function can have code from source lines in many files/offsets that
are unrelated to the function start line (LLVM in several places
#includes .def files into functions to stamp out tables, switches,
arrays, etc, for instance)

On Fri, Jan 15, 2021 at 4:47 PM Jim Ingham via Phabricator via
lldb-commits <lldb-commits@lists.llvm.org> wrote:
>
> jingham created this revision.
> jingham requested review of this revision.
> Herald added a project: LLDB.
> Herald added a subscriber: lldb-commits.
>
> The inline initializers contribute code to the constructor(s).  You will step 
> onto them in the source view as you step through the constructor, for 
> instance.  But because their source lines are outside the function source 
> range, lldb thought a breakpoint on the initializer line was crossing from 
> one function to another, which file & line breakpoints don't allow.  That 
> meant if you tried to set a breakpoint on one of these lines it doesn't 
> create any locations.
>
> This patch fixes that by asserting that if the LineEntry in one of the 
> SymbolContexts that the search produced exactly matches the file & line 
> specifications in the breakpoint, it has to be a valid place to set the 
> breakpoint, and we should just set it.
>
>
> Repository:
>   rG LLVM Github Monorepo
>
> https://reviews.llvm.org/D94846
>
> Files:
>   lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
>   lldb/test/API/lang/cpp/break-on-initializers/Makefile
>   lldb/test/API/lang/cpp/break-on-initializers/TestBreakOnCPP11Initializers.py
>   lldb/test/API/lang/cpp/break-on-initializers/main.cpp
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to