* [testsuite/guality, committed] Use @main as bp loc instead of line nrs in const-volatile.c
@ 2018-07-01 20:01 Tom de Vries
0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2018-07-01 20:01 UTC (permalink / raw)
To: gcc-patches
Hi,
this patch replaces the absolute line numbers used in gdb-test in guality
testcase const-volatile.c.
First there's line number 50, which used to point at the start of main:
...
47 int
48 main (int argc, char **argv)
49 {
50 score as = argc;
...
but has drifted in time to before f:
...
48 score s;
49 const score cs;
50
51 static __attribute__((noclone, noinline)) int
52 f (const char *progname, volatile struct foo *dummy, const score s)
53 {
...
Then there's line number 58, which already failed to set a breakpoint at the
initial commit, so I'm classifying that as a typo.
I could have used a dg-line at the start of main to introduce variable bp,
and then use that variable everywhere, but I've added a mechanism that allows
us to set breakpoints at function addresses, which means we don't need the
dg-line, and can just use '@main'.
Committed as obvious.
Thanks,
- Tom
[testsuite/guality] Use @main as bp loc instead of line nrs in const-volatile.c
2018-07-01 Tom de Vries <tdevries@suse.de>
* lib/gcc-gdb-test.exp (gdb-test): Handle '@' prefix in line number
argument.
* gcc.dg/guality/const-volatile.c: Replace gdb-test line nrs 50 and 58
with @main.
---
gcc/testsuite/gcc.dg/guality/const-volatile.c | 44 +++++++++++++--------------
gcc/testsuite/lib/gcc-gdb-test.exp | 7 ++++-
2 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/gcc/testsuite/gcc.dg/guality/const-volatile.c b/gcc/testsuite/gcc.dg/guality/const-volatile.c
index d657f48079c..3bfca0d14d3 100644
--- a/gcc/testsuite/gcc.dg/guality/const-volatile.c
+++ b/gcc/testsuite/gcc.dg/guality/const-volatile.c
@@ -62,33 +62,33 @@ main (int argc, char **argv)
return f (argv[0], &dummy, as) - 1;
}
-/* { dg-final { gdb-test 50 "type:main" "int (int, char **)" } } */
+/* { dg-final { gdb-test "@main" "type:main" "int (int, char **)" } } */
-/* { dg-final { gdb-test 50 "type:i" "int" } } */
-/* { dg-final { gdb-test 50 "type:ci" "const int" } } */
-/* { dg-final { gdb-test 50 "type:vi" "volatile int" } } */
-/* { dg-final { gdb-test 50 "type:cvi" "const volatile int" } } */
+/* { dg-final { gdb-test "@main" "type:i" "int" } } */
+/* { dg-final { gdb-test "@main" "type:ci" "const int" } } */
+/* { dg-final { gdb-test "@main" "type:vi" "volatile int" } } */
+/* { dg-final { gdb-test "@main" "type:cvi" "const volatile int" } } */
-/* { dg-final { gdb-test 50 "type:pi" "int *" } } */
-/* { dg-final { gdb-test 50 "type:pci" "const int *" } } */
-/* { dg-final { gdb-test 50 "type:pvi" "volatile int *" } } */
-/* { dg-final { gdb-test 50 "type:pcvi" "const volatile int *" } } */
+/* { dg-final { gdb-test "@main" "type:pi" "int *" } } */
+/* { dg-final { gdb-test "@main" "type:pci" "const int *" } } */
+/* { dg-final { gdb-test "@main" "type:pvi" "volatile int *" } } */
+/* { dg-final { gdb-test "@main" "type:pcvi" "const volatile int *" } } */
-/* { dg-final { gdb-test 50 "type:cip" "int * const" } } */
-/* { dg-final { gdb-test 50 "type:vip" "int * volatile" } } */
-/* { dg-final { gdb-test 50 "type:cvip" "int * const volatile" } } */
+/* { dg-final { gdb-test "@main" "type:cip" "int * const" } } */
+/* { dg-final { gdb-test "@main" "type:vip" "int * volatile" } } */
+/* { dg-final { gdb-test "@main" "type:cvip" "int * const volatile" } } */
-/* { dg-final { gdb-test 50 "type:vs" "volatile struct { const long cli; const signed char csc; }" } } */
+/* { dg-final { gdb-test "@main" "type:vs" "volatile struct { const long cli; const signed char csc; }" } } */
-/* { dg-final { gdb-test 50 "type:cvip" "int * const volatile" } } */
+/* { dg-final { gdb-test "@main" "type:cvip" "int * const volatile" } } */
-/* { dg-final { gdb-test 50 "type:bar" "struct bar { short s; const short cs; volatile short vs; const volatile short cvs; volatile long long vll; }" } } */
-/* { dg-final { gdb-test 50 "type:foo" "struct foo { const long cli; const signed char csc; }" } } */
-/* { dg-final { gdb-test 50 "type:cfoo" "const struct foo { const long cli; const signed char csc; }" } } */
-/* { dg-final { gdb-test 50 "type:vfoo" "volatile struct foo { const long cli; const signed char csc; }" } } */
-/* { dg-final { gdb-test 50 "type:cvfoo" "const volatile struct foo { const long cli; const signed char csc; }" } } */
+/* { dg-final { gdb-test "@main" "type:bar" "struct bar { short s; const short cs; volatile short vs; const volatile short cvs; volatile long long vll; }" } } */
+/* { dg-final { gdb-test "@main" "type:foo" "struct foo { const long cli; const signed char csc; }" } } */
+/* { dg-final { gdb-test "@main" "type:cfoo" "const struct foo { const long cli; const signed char csc; }" } } */
+/* { dg-final { gdb-test "@main" "type:vfoo" "volatile struct foo { const long cli; const signed char csc; }" } } */
+/* { dg-final { gdb-test "@main" "type:cvfoo" "const volatile struct foo { const long cli; const signed char csc; }" } } */
-/* { dg-final { gdb-test 58 "type:s" "volatile signed char" } } */
-/* { dg-final { gdb-test 50 "type:cs" "const volatile signed char" } } */
+/* { dg-final { gdb-test "@main" "type:s" "volatile signed char" } } */
+/* { dg-final { gdb-test "@main" "type:cs" "const volatile signed char" } } */
-/* { dg-final { gdb-test 50 "type:f" "int (const char *, volatile struct foo *, const score)" } } */
+/* { dg-final { gdb-test "@main" "type:f" "int (const char *, volatile struct foo *, const score)" } } */
diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp b/gcc/testsuite/lib/gcc-gdb-test.exp
index c446f5b122d..bb966d43023 100644
--- a/gcc/testsuite/lib/gcc-gdb-test.exp
+++ b/gcc/testsuite/lib/gcc-gdb-test.exp
@@ -60,7 +60,12 @@ proc gdb-test { useline args } {
set cmd_file "[file rootname [file tail $prog]].gdb"
set fd [open $cmd_file "w"]
- set line [get-absolute-line $useline [lindex $args 0]]
+ set line [lindex $args 0]
+ if { [string range $line 0 0] == "@" } {
+ set line [string range $line 1 end]
+ } else {
+ set line [get-absolute-line $useline $line]
+ }
puts $fd "break $line"
puts $fd "run"
puts $fd "$command $var"
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-07-01 20:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-01 20:01 [testsuite/guality, committed] Use @main as bp loc instead of line nrs in const-volatile.c Tom de Vries
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).