Use verify_oacc_routine_clauses for Fortran (was: Use verify_oacc_routine_clauses for C/C++)

Thomas Schwinge thomas@codesourcery.com
Wed Aug 10 11:46:00 GMT 2016


Hi Cesar!

On Tue, 9 Aug 2016 08:54:46 -0700, Cesar Philippidis <cesar@codesourcery.com> wrote:
> On 08/01/2016 08:29 AM, Thomas Schwinge wrote:
> 
> > On Mon, 01 Aug 2016 17:21:37 +0200, I wrote:
> >> Some checking of OpenACC clauses currently done in the front ends should
> >> be moved later, and be unified.  (Also, I suppose, for supporting of the
> >> device_type clause, such checking actually *must* be moved later, into
> >> the oaccdevlow pass, or similar.)  Here is a first preparatory patch.  OK
> >> for trunk?
> >>
> >> commit e02a9b65c505b404f8d985b0ec6ccb99d73515d3
> >> Author: Thomas Schwinge <thomas@codesourcery.com>
> >> Date:   Wed Jul 27 15:54:38 2016 +0200
> >>
> >>     Use verify_oacc_routine_clauses for C/C++
> > 
> > Here is a Fortran patch.  This depends on other Fortran patches in flight
> > (such as Cesar's), and on PR72741 "Fortran OpenACC routine directive
> > doesn't properly handle clauses specifying the level of parallelism" be
> > resolved, and thereabouts, but I'm posting it anyway, in case anyone has
> > any review comments already.  I suppose, to begin with, the call of
> > gfc_oacc_routine_dims will move later into the Fortran front end
> > pipeline, to the point then function declarations' attributes are set, or
> > similar.  Also, as discussed already, the Fortran front end currently is
> > very "forgetful" in regards to OpenACC/OpenMP clauses' specific location
> > information, so we're not able at present to produce diagnostics with
> > precise location information.
> 
> Are you planning on staging this patch in gomp4?

As we discussed yesterday, I was planning to wait for the corresponding
Fortran front end changes to materialize, and then handle it all
together, for C, C++, and Fortran.

> I know it's a work in
> progress, but is this function ...

> > --- gcc/fortran/trans-openmp.c
> > +++ gcc/fortran/trans-openmp.c

> > +/* Determine and verify the level of parallelism for an OpenACC routine.  */
> > +
> > +oacc_function
> > +gfc_oacc_routine_dims (gfc_omp_clauses *clauses, locus location)
> > +{
> > +  [...]
> 
> included elsewhere in your patch set? I'll take over this patch as I
> work on PR72741.

I don't know what exactly you mean with "included"?  Also, as I
elaborated in <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72741#c3>,
actually this function should "ideally just call
gcc/fortran/trans-openmp.c:gfc_trans_omp_clauses to translate the Fortran
OMP clauses representation into OMP_CLAUSE trees" (if that makes sense).
Anyway, feel free to take over this function/patch as required.


Grüße
 Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20160810/3098b224/attachment.sig>


More information about the Gcc-patches mailing list