diff options
author | Pedro Alves <palves@redhat.com> | 2018-06-14 12:23:56 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2018-06-14 12:24:39 +0100 |
commit | a898ca0e0c5893c58b60a7f76225d104df240549 (patch) | |
tree | fc1b5a6e74aaf89d9b8b0fa500db62f215f4ccc8 /gdb/testsuite/gdb.opt/inline-break.c | |
parent | 1d39de443a38448226ffc408290c17c54c598c39 (diff) | |
download | gdb-a898ca0e0c5893c58b60a7f76225d104df240549.zip gdb-a898ca0e0c5893c58b60a7f76225d104df240549.tar.gz gdb-a898ca0e0c5893c58b60a7f76225d104df240549.tar.bz2 |
Inline breakpoints
gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
parameter with a block parameter. Compare location's block symbol
with the frame's block instead of addresses.
(skip_inline_frames): Pass the current block instead of the
frame's address. Break out as soon as we determine the frame
should not be skipped.
gdb/testsuite/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* gdb.opt/inline-break.c (func_callee, func_caller): New.
(main): Call func_caller.
Diffstat (limited to 'gdb/testsuite/gdb.opt/inline-break.c')
-rw-r--r-- | gdb/testsuite/gdb.opt/inline-break.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.opt/inline-break.c b/gdb/testsuite/gdb.opt/inline-break.c index 922102d..351b983 100644 --- a/gdb/testsuite/gdb.opt/inline-break.c +++ b/gdb/testsuite/gdb.opt/inline-break.c @@ -176,6 +176,25 @@ not_inline_func3 (int x) return y + inline_func3 (x); } +/* A static inlined function that is called by another static inlined + function. */ + +static inline ATTR int +func_callee (int x) +{ + return x * 23; +} + +/* A static inlined function that calls another static inlined + function. The body of the function is as simple as possible so + that both functions are inlined to the same PC address. */ + +static int +func_caller (int x) +{ + return func_callee (x); +} + /* Entry point. */ int @@ -205,5 +224,7 @@ main (int argc, char *argv[]) x = not_inline_func3 (-21); + func_caller (1); + return x; } |