On Wed, Jul 23, 2014 at 05:42:32PM -0700, Cesar Philippidis wrote: > >> Jakub, before your Fortran OpenMP 4 target changes, Ilmir had written the > >> test case gcc/testsuite/gfortran.dg/gomp/map-1.f90 (based on his > >> interpretation and implementation of OpenMP 4 target), which I have now > >> amended with XFAILs and changed error messages -- anything in there that > >> you'd like to see addressed for Fortran OpenMP 4 target? > > > >> + !$omp target map(j(5:4)) ! { dg-error "Lower bound of OpenMP array > >> section in greater than upper" "" { xfail *-*-* } } > >> + !$omp end target > > > > I think this isn't an error in Fortran, if low bound is above upper bound, > > then it is considered a zero size array section. Though supposedly for > > depend clause we might want to diagnose that. > > > >> + !$omp target map(aas) ! { dg-error "The upper bound in the last > >> dimension must appear" "" { xfail *-*-* } } > >> + !$omp end target > > > > Assumed-size in map without array section would be indeed nice thing to > > diagnose. > > > >> + !$omp target map(tt%i) ! { dg-error "Syntax error in OpenMP variable > >> list" } > >> + !$omp end target ! { dg-bogus "Unexpected !\\\$OMP END TARGET > >> statement" "" { xfail *-*-* } } > > > > Right now the parsing of !$omp directives in case of parsing error rejects > > the whole directive, perhaps it should be reconsidered unless it is a fatal > > error from which there is no easy way out. > > > >> + !$omp target map(tt%j(1)) ! { dg-bogus "Syntax error in OpenMP variable > >> list" "" { xfail *-*-* } } > >> + !$omp end target ! { dg-bogus "Unexpected !\\\$OMP END TARGET > >> statement" "" { xfail *-*-* } } > >> + > >> + !$omp target map(tt%j(1:)) ! { dg-bogus "Syntax error in OpenMP > >> variable list" "" { xfail *-*-* } } > >> + !$omp end target ! { dg-bogus "Unexpected !\\\$OMP END TARGET > >> statement" "" { xfail *-*-* } } > > > > These two are pending resolution on omp-lang, I had exchanged a few mails > > about it, I think we shouldn't support those for consistency with the C/C++ > > support, where tt.j[1] or tt.j[1:] and similar is explicitly invalid. > > Jakub, should I drop the map-1.f90 test?
Not the whole testcase, just the problematic parts (or, just remove the dg-error/xfail or replace dg-bogus xfail with dg-error), for the j(5:4) and tt%j(1)/tt%j(1:) cases? Jakub