[all-commits] [llvm/llvm-project] 35ecfd: [lldb/Symbol] Fix column breakpoint `move_to_neare...
Med Ismail Bennani via All-commits
all-commits at lists.llvm.org
Tue May 4 22:08:16 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 35ecfda01ccd19e1222c065056f68bbd2575e4ac
https://github.com/llvm/llvm-project/commit/35ecfda01ccd19e1222c065056f68bbd2575e4ac
Author: Med Ismail Bennani <medismail.bennani at gmail.com>
Date: 2021-05-05 (Wed, 05 May 2021)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/Makefile
M lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
R lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/main.c
A lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/main.cpp
Log Message:
-----------
[lldb/Symbol] Fix column breakpoint `move_to_nearest_code` match
This patch fixes the column symbol resolution when creating a breakpoint
with the `move_to_nearest_code` flag set.
In order to achieve this, the patch adds column information handling in
the `LineTable`'s `LineEntry` finder. After experimenting a little, it
turns out the most natural approach in case of an inaccurate column match,
is to move backward and match the previous `LineEntry` rather than going
forward like we do with simple line breakpoints.
The patch also reflows the function to reduce code duplication.
Finally, it updates the `BreakpointResolver` heuristic to align it with
the `LineTable` method.
rdar://73218201
Differential Revision: https://reviews.llvm.org/D101221
Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>
More information about the All-commits
mailing list