aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.opt/inline-break.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2018-06-14 12:23:56 +0100
committerPedro Alves <palves@redhat.com>2018-06-14 12:24:39 +0100
commita898ca0e0c5893c58b60a7f76225d104df240549 (patch)
treefc1b5a6e74aaf89d9b8b0fa500db62f215f4ccc8 /gdb/testsuite/gdb.opt/inline-break.c
parent1d39de443a38448226ffc408290c17c54c598c39 (diff)
downloadgdb-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.c21
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;
}