aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-09-23 09:46:15 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-09-23 09:46:15 +0200
commitf2e81d0585673e93f4225599f190c6764ddb0fec (patch)
treec706dd9dc679444b86223f5a8544af5b34cb6c47
parentaaa1b10f5419420ef419b6f74299e516f19e5877 (diff)
downloadgcc-f2e81d0585673e93f4225599f190c6764ddb0fec.zip
gcc-f2e81d0585673e93f4225599f190c6764ddb0fec.tar.gz
gcc-f2e81d0585673e93f4225599f190c6764ddb0fec.tar.bz2
gcc-dg.exp (process-message): Support relative line number notation - .+4 or .-1 etc.
* lib/gcc-dg.exp (process-message): Support relative line number notation - .+4 or .-1 etc. * gcc.dg/dg-test-1.c: New test. From-SVN: r240391
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp7
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 75e7b3e..facc0d0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2016-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/gcc-dg.exp (process-message): Support relative line number
+ notation - .+4 or .-1 etc.
+ * gcc.dg/dg-test-1.c: New test.
+
2016-09-22 Martin Sebor <msebor@redhat.com>
PR target/77676
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index b7f0ff7..9c2e041 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -986,6 +986,13 @@ if { [info procs saved-dg-error] == [list] \
proc process-message { msgproc msgprefix dgargs } {
upvar dg-messages dg-messages
+ # Handle relative line specification, .+1 or .-1 etc.
+ if { [llength $dgargs] == 5
+ && [regsub "^\.\[+-\](\[0-9\])$" [lindex $dgargs 4] "\\1" num] } {
+ set num [expr [lindex $dgargs 0] [string index [lindex $dgargs 4] 1] $num]
+ set dgargs [lreplace $dgargs 4 4 $num]
+ }
+
# Process the dg- directive, including adding the regular expression
# to the new message entry in dg-messages.
set msgcnt [llength ${dg-messages}]