From f72175357d04b0e71d2043be48551d7904a233b6 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 16 Nov 2020 17:37:06 +0100 Subject: [PATCH] [testsuite] Avoid Tcl 8.5-specific behavior gcc/ * doc/install.texi (Prerequisites) : Add comment. gcc/testsuite/ * c-c++-common/goacc/kernels-decompose-1.c: Avoid Tcl 8.5-specific behavior. * c-c++-common/goacc/kernels-decompose-2.c: Likewise. * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid Tcl 8.5-specific behavior. * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise. Reported-by: David Edelsohn --- gcc/doc/install.texi | 3 +++ gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c | 8 ++++++++ gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c | 8 ++++++++ gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 | 8 ++++++++ gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 | 8 ++++++++ .../libgomp.oacc-c-c++-common/kernels-decompose-1.c | 8 ++++++++ libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 | 8 ++++++++ 7 files changed, 51 insertions(+) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index cbfe859310a..8c55da373f8 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -464,6 +464,9 @@ Necessary when modifying @command{gperf} input files, e.g.@: @item DejaGnu 1.4.4 @itemx Expect @itemx Tcl +@c Once Tcl 8.5 or higher is required, remove any obsolete +@c compatibility workarounds: +@c git grep 'compatibility with earlier Tcl releases' Necessary to run the GCC testsuite; see the section on testing for details. diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c index 92db33273eb..e906443cceb 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-1.c @@ -7,6 +7,14 @@ /* See also '../../gfortran.dg/goacc/kernels-decompose-1.f95'. */ +/* It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' + passed to 'incr' may be unset, and in that case, it will be set to [...]", + so to maintain compatibility with earlier Tcl releases, we manually + initialize counter variables: + { dg-line l_dummy[variable c_loop_i 0] } + { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid + "WARNING: dg-line var l_dummy defined, but not used". */ + #define N 1024 unsigned int a[N]; diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c index ec6c4af92aa..ec0f75c4a61 100644 --- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c +++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-2.c @@ -6,6 +6,14 @@ /* See also '../../gfortran.dg/goacc/kernels-decompose-2.f95'. */ +/* It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' + passed to 'incr' may be unset, and in that case, it will be set to [...]", + so to maintain compatibility with earlier Tcl releases, we manually + initialize counter variables: + { dg-line l_dummy[variable c_loop_i 0 c_loop_j 0 c_loop_k 0 c_part 0] } + { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid + "WARNING: dg-line var l_dummy defined, but not used". */ + #pragma acc routine gang extern int f_g (int); diff --git a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 index 95a78623ebf..7e513f84083 100644 --- a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-1.f95 @@ -7,6 +7,14 @@ ! See also '../../c-c++-common/goacc/kernels-decompose-1.c'. +! It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' +! passed to 'incr' may be unset, and in that case, it will be set to [...]", +! so to maintain compatibility with earlier Tcl releases, we manually +! initialize counter variables: +! { dg-line l_dummy[variable c_loop_i 0] } +! { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid +! "WARNING: dg-line var l_dummy defined, but not used". + program main implicit none integer, parameter :: N = 1024 diff --git a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 index 58d687d4a0c..22f65e5c694 100644 --- a/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 +++ b/gcc/testsuite/gfortran.dg/goacc/kernels-decompose-2.f95 @@ -6,6 +6,14 @@ ! See also '../../c-c++-common/goacc/kernels-decompose-2.c'. +! It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' +! passed to 'incr' may be unset, and in that case, it will be set to [...]", +! so to maintain compatibility with earlier Tcl releases, we manually +! initialize counter variables: +! { dg-line l_dummy[variable c_loop_i 0 c_loop_j 0 c_loop_k 0 c_part 0] } +! { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid +! "WARNING: dg-line var l_dummy defined, but not used". + program main implicit none diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c index fa8ae6c79cd..e76e4099f3a 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c @@ -3,6 +3,14 @@ /* { dg-additional-options "-fopt-info-omp-all" } */ /* { dg-additional-options "-fopenacc-kernels=decompose" } */ +/* It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' + passed to 'incr' may be unset, and in that case, it will be set to [...]", + so to maintain compatibility with earlier Tcl releases, we manually + initialize counter variables: + { dg-line l_dummy[variable c_loop_i 0] } + { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid + "WARNING: dg-line var l_dummy defined, but not used". */ + #undef NDEBUG #include diff --git a/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 index 82d8351f0e3..99a70418a4d 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 @@ -2,6 +2,14 @@ ! { dg-additional-options "-fopt-info-omp-all" } ! { dg-additional-options "-fopenacc-kernels=decompose" } +! It's only with Tcl 8.5 (released in 2007) that "the variable 'varName' +! passed to 'incr' may be unset, and in that case, it will be set to [...]", +! so to maintain compatibility with earlier Tcl releases, we manually +! initialize counter variables: +! { dg-line l_dummy[variable c_loop_i 0] } +! { dg-message "dummy" "" { target iN-VAl-Id } l_dummy } to avoid +! "WARNING: dg-line var l_dummy defined, but not used". + subroutine kernel(lo, hi, a, b, c) implicit none integer :: lo, hi, i -- 2.30.2