aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2021-09-22 12:42:41 +0200
committerThomas Schwinge <thomas@codesourcery.com>2021-12-03 09:24:48 +0100
commit31c200c6e110ced8732332376e69c0958985b926 (patch)
treef496246114115e12cee39ce542233b904e497bf7
parentd82823454355f9d24dba51316145f84ae8d34ff7 (diff)
downloadgcc-31c200c6e110ced8732332376e69c0958985b926.zip
gcc-31c200c6e110ced8732332376e69c0958985b926.tar.gz
gcc-31c200c6e110ced8732332376e69c0958985b926.tar.bz2
Make sure that we get unique test names if several DejaGnu directives refer to the same line [PR102735]
gcc/testsuite/ PR testsuite/102735 * lib/gcc-dg.exp (process-message): Make sure that we get unique test names.
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 7edd070..78a6c36 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -1191,8 +1191,18 @@ proc process-message { msgproc msgprefix dgargs } {
upvar dg-messages dg-messages
if { [llength $dgargs] == 5 } {
- set num [get-absolute-line [lindex $dgargs 0] [lindex $dgargs 4]]
- set dgargs [lreplace $dgargs 4 4 $num]
+ set useline [lindex $dgargs 0]
+
+ # Resolve absolute line number.
+ set line [get-absolute-line $useline [lindex $dgargs 4]]
+ set dgargs [lreplace $dgargs 4 4 $line]
+
+ if { $line != $useline } {
+ # Make sure that we get unique test names if different USELINEs
+ # refer to the same LINE.
+ set comment "[lindex $dgargs 2] at line $useline"
+ set dgargs [lreplace $dgargs 2 2 $comment]
+ }
}
# Process the dg- directive, including adding the regular expression