Hi Julian! On 2023-04-29T03:57:41-0700, Julian Brown <jul...@codesourcery.com> wrote: > This patch moves several tests introduced by the following patch: > > https://gcc.gnu.org/pipermail/gcc-patches/2023-April/616939.html > > into the proper location for OpenACC testing (thanks to Thomas for > spotting my mistake!), and also fixes a few additional problems -- > missing diagnostics for non-pointer attaches, and a case where a pointer > was incorrectly dereferenced. Tests are also adjusted for vector-length > warnings on nvidia accelerators. > > Tested with offloading to nvptx. OK?
Thanks for looking into this. I haven't reviewed the patch itself, but noticed one thing: > --- /dev/null > +++ b/gcc/testsuite/gfortran.dg/goacc/pr109622-5.f90 > @@ -0,0 +1,45 @@ > +! { dg-do compile } > + > +use openacc [...]/gfortran.dg/goacc/pr109622-5.f90:3:5: Fatal Error: Cannot open module file 'openacc.mod' for reading at (1): No such file or directory ... for GCC build-tree testing. Just remove the 'use openacc'; it's not necessary here. Grüße Thomas > +implicit none > + > +type t > +integer :: foo > +character(len=8) :: bar > +integer :: qux(5) > +end type t > + > +type(t) :: var > + > +var%foo = 3 > +var%bar = "HELLOOMP" > +var%qux = (/ 1, 2, 3, 4, 5 /) > + > +!$acc enter data copyin(var) > + > +!$acc enter data attach(var%foo) > +! { dg-error "'attach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > +!$acc enter data attach(var%bar) > +! { dg-error "'attach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > +!$acc enter data attach(var%qux) > +! { dg-error "'attach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > + > +!$acc serial > +var%foo = 5 > +var%bar = "GOODBYE!" > +var%qux = (/ 6, 7, 8, 9, 10 /) > +!$acc end serial > + > +!$acc exit data detach(var%qux) > +! { dg-error "'detach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > +!$acc exit data detach(var%bar) > +! { dg-error "'detach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > +!$acc exit data detach(var%foo) > +! { dg-error "'detach' clause argument not pointer or allocatable" "" { > target *-*-* } .-1 } > + > +!$acc exit data copyout(var) > + > +if (var%foo.ne.5) stop 1 > +if (var%bar.ne."GOODBYE!") stop 2 > + > +end ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955