summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base
diff options
context:
space:
mode:
authorMichael Chastain <mec.gnu@mindspring.com>2003-02-03 16:07:31 +0000
committerMichael Chastain <mec.gnu@mindspring.com>2003-02-03 16:07:31 +0000
commit5edac46f218d0999b074e89e0724379fe69a5c05 (patch)
treedef505837195080178aa604a1cd503cb3af46c85 /gdb/testsuite/gdb.base
parentdb23826e162726aa804b7be07d4303ba84b6daee (diff)
downloadgdb-5edac46f218d0999b074e89e0724379fe69a5c05.tar.gz
2003-02-01 Michael Chastain <mec@shout.net>
* gdb.base/advance.c (marker1): New marker function. * gdb.base/advance.exp: When the 'advance' command lands on the return breakpoint, it can legitimately stop on either the current line or the next line. Accommodate both outcomes. * gdb.base/until.exp: Likewise.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r--gdb/testsuite/gdb.base/advance.c5
-rw-r--r--gdb/testsuite/gdb.base/advance.exp6
-rw-r--r--gdb/testsuite/gdb.base/until.exp2
3 files changed, 11 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.base/advance.c b/gdb/testsuite/gdb.base/advance.c
index 2ae3cc50c4a..8066deec421 100644
--- a/gdb/testsuite/gdb.base/advance.c
+++ b/gdb/testsuite/gdb.base/advance.c
@@ -29,6 +29,10 @@ int func3 ()
x = 4;
}
+void marker1 ()
+{
+}
+
int
main ()
{
@@ -38,6 +42,7 @@ main ()
b = 3; /* advance this location */
func (c); /* stop here after leaving current frame */
+ marker1 (); /* stop here after leaving current frame */
func3 (); /* break here */
result = bar (b + foo (c));
return 0; /* advance malformed */
diff --git a/gdb/testsuite/gdb.base/advance.exp b/gdb/testsuite/gdb.base/advance.exp
index aea5a6d57fc..e5061d8fbf6 100644
--- a/gdb/testsuite/gdb.base/advance.exp
+++ b/gdb/testsuite/gdb.base/advance.exp
@@ -63,8 +63,12 @@ gdb_test "advance func" \
# Verify that "advance <funcname>" when funcname is NOT called by the current
# frame, stops at the end of the current frame.
#
+# gdb can legitimately stop on either the current line or the next line,
+# depending on whether the machine instruction for 'call' on the current
+# line has more instructions after it or not.
+#
gdb_test "advance func3" \
- "in main.*func \\(c\\).*stop here after leaving current frame..."\
+ "(in main|).*(func \\(c\\)|marker1 \\(\\)).*stop here after leaving current frame..."\
"advance function not called by current frame"
# break at main again
diff --git a/gdb/testsuite/gdb.base/until.exp b/gdb/testsuite/gdb.base/until.exp
index 815933279c9..f646c6d36ae 100644
--- a/gdb/testsuite/gdb.base/until.exp
+++ b/gdb/testsuite/gdb.base/until.exp
@@ -76,6 +76,6 @@ delete_breakpoints
# stop at main, the caller, where we put the 'guard' breakpoint.
#
gdb_test "until marker3" \
- "$hex in main.*argc.*argv.*envp.*at.*${srcfile}:82.*marker2 \\(43\\)." \
+ "($hex in |)main.*argc.*argv.*envp.*at.*${srcfile}:(82.*marker2 \\(43\\)|83.*marker3 \\(.stack., .trace.\\))." \
"until func, not called by current frame"