[Bug fortran/48820] New: TR 29113: Implement parts needed for MPI 3

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 29 12:49:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48820

           Summary: TR 29113: Implement parts needed for MPI 3
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
            Blocks: 41897


For MPI 3, the "void *buffer" equivalent "type(*), dimension(..)" is needed;
which means essentially all features of the TR 29113 draft except for the new
C-binding compatible array descriptor.

Latest TR 29113 draft:
  http://j3-fortran.org/pipermail/interop-tr/2011-April/000582.html

Latest MPI 3 draft:
  http://j3-fortran.org/pipermail/interop-tr/2011-April/000696.html

GCC's Status chart
  http://gcc.gnu.org/wiki/TR29113Status

Question: Is -std=gnu enough? Or should there be a -std=TR29113 for
F2008+TR29113 or better -std=f2008tr, which includes then all post-2008 TRs,
i.e. also the coarray TR?


The needed features are:

a) OPTIONAL allowed with BIND(C) (unless VALUE) [TR, Section 2.3; trivial!]

b) Assumed type: TYPE(*)  [TR, Section 2.1]

c) Assumed-rank: dimension(..) [TR, Section 2.2]

Nice to have:
d) RANK intrinsic [TR, Section 4.2]
e) Modifications to SIZE, SHAPE and UBOUND [cf. TR, Section 3.4]
f) F2008's is_contiguous (which is not yet implemented)

Note: (b) and (c) allow to implement a Fortran version of "void *buffer".

Additional items from Section 6:
- Allow CONTIGUOUS with assumed rank - and update simply-contiguous part



More information about the Gcc-bugs mailing list