diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abed28d091847b0f14e2da63d9aeb534b81abea0..1626b1dcac9751eb4707df05ae04eaa972a92561 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2017-01-03 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/dg-test-1.c: Add tests of relative line specifications + with more than one digit. + * lib/gcc-dg.exp (process-message): Support more than one digit + in relative line specifications. + 2017-01-03 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/78965 diff --git a/gcc/testsuite/gcc.dg/dg-test-1.c b/gcc/testsuite/gcc.dg/dg-test-1.c index ad67b2412f60f819d42413ebd87fdc1694aced06..c67f93b06560d54feb79e38d2548084541b5166c 100644 --- a/gcc/testsuite/gcc.dg/dg-test-1.c +++ b/gcc/testsuite/gcc.dg/dg-test-1.c @@ -16,3 +16,27 @@ void /* { dg-warning "unused parameter 'f'" "warn2" { target *-*-* } .+1 } */ bar (int e, int f, int g, int h)/* { dg-warning "unused parameter 'g'" "warn3" { target *-*-* } . } */ { /* { dg-warning "unused parameter 'h'" "warn4" { target *-*-* } .-1 } */ } + + +/* Ensure that relative line numbers with more than one digit are supported. */ +/* { dg-warning "unused parameter 'i'" "warn5" { target *-*-* } .+10 } */ + + + + + + + + +void +baz (int i, int j) +{ +} + + + + + + + +/* { dg-warning "unused parameter 'j'" "warn6" { target *-*-* } .-10 } */ diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 9014a1d64a1450ff7bd91bcf123511800c601370..83c38cfbeb7ce10bd7ca21e2584a1a507fde84a4 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -990,7 +990,7 @@ proc process-message { msgproc msgprefix dgargs } { # Handle relative line specification, .+1 or .-1 etc. if { [llength $dgargs] == 5 - && [regsub "^\.\[+-\](\[0-9\])$" [lindex $dgargs 4] "\\1" num] } { + && [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] }