------------------------------------------------------------------------ Committed Patched (for Reference/Historic Interest) ------------------------------------------------------------------------ Commit for (a) and (b): http://gcc.gnu.org/ml/fortran/2010-04/msg00022.html a) Adding image-control statements http://gcc.gnu.org/ml/fortran/2010-02/msg00043.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_nocodim-3.diff Complete single-image support for: - CRITICAL block - ALL STOP (but see (b) regarding ERROR STOP) - SYNC ALL/MEMORY/IMAGES - num_images b) Rename ALL STOP to ERROR STOP http://gcc.gnu.org/ml/fortran/2010-02/msg00178.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_nocodim-error-stop2.diff Note: See http://j3-fortran.org/doc/meeting/191/10-144.txt for the renaming or current F2008 standard (see below). c) ISO_FORTRAN_ENV additions Commit: http://gcc.gnu.org/ml/fortran/2010-04/msg00027.html http://gcc.gnu.org/ml/fortran/2010-02/msg00055.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/fort-env-2.diff Add all coarray-relevant entities to the intrinsic ISO_FORTRAN_ENV module, except of LOCK_TYPE. Note: There is a .texi typo, cf. review reply, which is fixed in new/fort-env-2.diff. Commit for (d) and (e) http://gcc.gnu.org/ml/fortran/2010-04/msg00028.html d) Coarray declarations http://gcc.gnu.org/ml/fortran/2010-02/msg00082.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_decl-3.diff (Contains review fixes + PROGRAM implies SAVE) Coarray declaration support (no expression support!) Review: http://gcc.gnu.org/ml/fortran/2010-02/msg00137.html http://gcc.gnu.org/ml/fortran/2010-02/msg00139.html e) Coarray declaration (fixes) http://gcc.gnu.org/ml/fortran/2010-03/msg00032.html Got reviewed twice :-) http://gcc.gnu.org/ml/fortran/2010-03/msg00080.html http://gcc.gnu.org/ml/fortran/2010-03/msg00086.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_decl_fixes.diff g) Add flag -fcoarray= Commit: http://gcc.gnu.org/ml/fortran/2010-04/msg00029.html http://gcc.gnu.org/ml/fortran/2010-03/msg00223.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_fcoarray.diff Review: http://gcc.gnu.org/ml/fortran/2010-04/msg00016.html f) Supporting expressions except of run-time support of allocatable coarrays http://gcc.gnu.org/ml/fortran/2010-03/msg00219.html http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_expr4.diff Works: Normal expressions work, allocate work (except for ALLOCATE statement), DATA works, procedure calls work, constraints are checked for Reviewed: http://gcc.gnu.org/ml/fortran/2010-04/msg00055.html Commit: http://gcc.gnu.org/ml/fortran/2010-04/msg00072.html h) Add intrinsics (1): this_image(...), ucobound()/lcobound(), and image_index() Only for expression-constant cobounds (init expression). http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_intrinsics2.diff http://gcc.gnu.org/ml/fortran/2010-04/msg00092.html Additional fix (not included in *2.diff): http://gcc.gnu.org/ml/fortran/2010-04/msg00124.html Commit with yet another fix: http://gcc.gnu.org/ml/fortran/2010-04/msg00148.html i) Adding support in ALLOCATE for allocatable _array_ coarrays Submitted patch (9/n): http://gcc.gnu.org/ml/fortran/2010-04/msg00176.html Updated patch posted: http://gcc.gnu.org/ml/fortran/2010-04/msg00207.html Patch (last version): http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_allocate2.diff Review: http://gcc.gnu.org/ml/fortran/2010-04/msg00286.html j) Bound-intrinsics: Bug fix (ICE) for scalar coarrays (patch 10/n) Approved patch: http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_intrinsics_fix.diff Submitted & committed: http://gcc.gnu.org/ml/fortran/2010-04/msg00296.html k) Coarray array-descriptor fix (patch 11/n), PR 43931 Committed as obvious: http://gcc.gnu.org/ml/fortran/2010-04/msg00324.html l) A minor diagnostic and expr rank patch (patch 12/n) http://gcc.gnu.org/ml/fortran/2010-07/msg00062.html o) First library-based multi-image support See http://gcc.gnu.org/ml/fortran/2011-03/msg00162.html Documentation: http://gcc.gnu.org/wiki/CoarrayLib p) Extend this_image(...), ucobound()/lcobound() to support non-constant bounds for _allocatable_ coarrays (local + dummy) and for non-dummy coarrays. (For others coarrays: See below) Early draft: http://users.physik.fu-berlin.de/~tburnus/coarray/new/coarray_intrinsics_runtime_draft5.diff Submitted patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00005.html Note: ucobound assumes num_image() == 1, this_image(coarray) assumes this_image() == 1. Thus, -fcoarray=single is OK, =lib is not. q) Minor coarray fix: http://gcc.gnu.org/ml/fortran/2011-04/msg00052.html r) [lib] Multi-image version of ucobound Submitted patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00041.html s) [lib] Always build libcaf_single.a Submitted and committed patch at: http://gcc.gnu.org/ml/fortran/2011-04/msg00119.html t) Minor ICE fix for -fcoarray=lib Patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00164.html u) Run-time version of IMAGE_INDEX Patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00173.html v) Add some missing diagnostics for IMAGE_INDEX and ALLOCATE Patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00195.html w) Fix maxrank check. Commited patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00229.html x) Small fixes for module read and allocatable coarray components patch: http://gcc.gnu.org/ml/fortran/2011-04/msg00244.html y) First coarray test suite patch, using -fcoarray=single and =lib -lcaf_single http://gcc.gnu.org/ml/fortran/2011-04/msg00331.html Approved at: http://gcc.gnu.org/ml/fortran/2011-05/msg00019.html z) THIS_IMAGE (coarray [, dim]) for -fcoarray=lib http://gcc.gnu.org/ml/fortran/2011-05/msg00012.html aa) Scalar coarrays did not work with the array intrinsics, unless their value was known at compile time. That's fixed by the patch: http://gcc.gnu.org/ml/fortran/2011-05/msg00038.html ab) Minor libcaf cleanup: http://gcc.gnu.org/ml/fortran/2011-05/msg00044.html ac) The following test case was failing as the _gfortran_caf_(this_image,num_images) variables were wongly declared Submitted patch: http://gcc.gnu.org/ml/fortran/2011-05/msg00023.html program test_image_index implicit none integer :: index1 integer, allocatable :: a(:)[:,:,:] allocate(a(1)[3:3, -4:-3, 88:*]) index1 = image_index(a, [3, -4, 88] ) STOP ! << IMPORTANT - otherwise no link errors call test(1, a) contains subroutine test(n, a) integer :: n integer :: a(1)[3*n:3*n, -4*n:-3*n, 88*n:*] index1 = image_index(a, [3, -4, 88] ) end subroutine test end program test_image_index cd) - Save cobounds for scalar coarrays - Fix rank mismatch diagnostics http://gcc.gnu.org/ml/fortran/2011-05/msg00067.html ae) Final(?) decl fixes for scalar coarrays http://gcc.gnu.org/ml/fortran/2011-05/msg00123.html af) Patch for coarray registering calls in the front end http://gcc.gnu.org/ml/fortran/2011-05/msg00176.html ag) Some constraint checks added and minor declaration fix http://gcc.gnu.org/ml/gcc-patches/2011-05/msg02122.html ah) Coarray type-decl fixes http://gcc.gnu.org/ml/fortran/2011-05/msg00211.html ai) Diagnostic when passing a coarray to an allocatable noncoarray dummy http://gcc.gnu.org/ml/fortran/2011-05/msg00217.html aj) Static coarrays with non-constant cobounds ("automatic cobounds") http://gcc.gnu.org/ml/fortran/2011-05/msg00231.html ak) Fix cobounds of assumed-shape coarray dummies http://gcc.gnu.org/ml/fortran/2011-05/msg00232.html al) ATOMIC_REF and ATOMIC_DEFINE: First, -fcoarray=single implementation http://gcc.gnu.org/ml/fortran/2011-05/msg00236.html http://gcc.gnu.org/ml/fortran/2011-05/msg00241.html am) Parse patch for LOCK and UNLOCK (w/o lock_type support) http://gcc.gnu.org/ml/fortran/2011-06/msg00054.html an) Daniel C's Fix interface (API) for SYNC ALL/IMAGES http://gcc.gnu.org/ml/fortran/2011-06/msg00056.html http://gcc.gnu.org/ml/fortran/2011-06/msg00067.html Final patch: http://gcc.gnu.org/ml/fortran/2011-06/msg00092.html ap) [LIB] Daniel's registering and memory-freeing patch http://gcc.gnu.org/ml/fortran/2011-06/msg00134.html aq) Add LOCK_TYPE, improve LOCK/UNLOCK checking, first run-time support http://gcc.gnu.org/ml/fortran/2011-06/msg00125.html ar) Add registering support for allocatable coarrays (part 1) http://gcc.gnu.org/ml/fortran/2011-07/msg00045.html http://gcc.gnu.org/ml/fortran/2011-07/msg00056.html as) Fix registering ABI, i.e. add STAT=/ERRMSG= support and add error handling to the library http://gcc.gnu.org/ml/fortran/2011-07/msg00058.html at) Add runtime_error function and clean up of error handling in the registering and in the sync functions. http://gcc.gnu.org/ml/fortran/2011-07/msg00087.html au) Add runtime_error function to single.c http://gcc.gnu.org/ml/fortran/2011-07/msg00144.html http://gcc.gnu.org/ml/fortran/2011-07/msg00154.html av) Fix runtime-error function http://gcc.gnu.org/ml/fortran/2011-07/msg00167.html aw) Allocatable scalar coarrays http://gcc.gnu.org/ml/fortran/2011-07/msg00106.html ax) Mark "token" (of static coarray) as restricted: http://gcc.gnu.org/ml/fortran/2011-07/msg00142.html ay) Fixes to argument checking, add is_coarray function (PR 45859) http://gcc.gnu.org/ml/fortran/2011-07/msg00192.html az) [fcoaray=lib] Passing the coarray token and the offset to call procedures [for nonallocatable coarrays] http://gcc.gnu.org/ml/fortran/2011-07/msg00206.html ba) [fcoarray=lib] Pass stat/errmsg to the registering function http://gcc.gnu.org/ml/fortran/2011-07/msg00115.html http://gcc.gnu.org/ml/fortran/2011-07/msg00165.html http://gcc.gnu.org/ml/fortran/2011-07/msg00212.html LAST: http://gcc.gnu.org/ml/fortran/2011-07/msg00219.html bb) Fix constraint check for local var decl w/ coarray components http://gcc.gnu.org/ml/fortran/2011-07/msg00247.html bc) Save "token" in the descriptor http://gcc.gnu.org/ml/fortran/2011-07/msg00235.html http://gcc.gnu.org/ml/fortran/2011-07/msg00246.html bd) Fix error handling of allocatable carrays (and other allocables): PR fortran/ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49755 http://gcc.gnu.org/ml/fortran/2011-07/msg00243.html http://gcc.gnu.org/ml/fortran/2011-07/msg00254.html http://gcc.gnu.org/ml/fortran/2011-07/msg00277.html http://gcc.gnu.org/ml/fortran/2011-07/msg00290.html be) Pass token when registering allocatable coarrays http://gcc.gnu.org/ml/fortran/2011-08/msg00002.html bf) Constraint fix for coarray result variables http://gcc.gnu.org/ml/fortran/2011-08/msg00028.html Post-commit fix: http://gcc.gnu.org/ml/fortran/2011-08/msg00129.html bg) Constraint fixes for LOCK_TYPE (PR 18918) Cf. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18918#c62 http://gcc.gnu.org/ml/fortran/2011-08/msg00004.html http://gcc.gnu.org/ml/fortran/2011-08/msg00021.html http://gcc.gnu.org/ml/fortran/2011-08/threads.html#00004 Review comment: http://gcc.gnu.org/ml/fortran/2011-08/msg00036.html Latest: http://gcc.gnu.org/ml/fortran/2011-08/msg00136.html bh) Handle token and offset for assumed-shape coarrays with -fcoarray=lib Patch: http://gcc.gnu.org/ml/fortran/2011-08/msg00182.html bi) Fixing allocatable scalar coarray components http://gcc.gnu.org/ml/fortran/2011-08/msg00210.html bj) Deregistering of allocatable coarrays: Library part Patch: http://gcc.gnu.org/ml/fortran/2011-08/msg00215.html Updated patch: http://gcc.gnu.org/ml/fortran/2011-08/msg00238.html bk) Initial support for scalar and array coarrays. The support is burried in the patch at http://gcc.gnu.org/ml/fortran/2011-12/msg00057.html bl) this_image fixes, deallocate of scalar poly coarrays: http://gcc.gnu.org/ml/fortran/2011-12/msg00089.html This patch also fixes coarray/poly_run_2.f90 :-) bm) Fix for cobounds intrinsics http://gcc.gnu.org/ml/fortran/2011-12/msg00107.html bn) SELECT TYPE parse fixes http://gcc.gnu.org/ml/fortran/2011-12/ bo) Fix integer-kind issues, esp. with -fdefault-integer-8 [PR 51682] http://gcc.gnu.org/ml/fortran/2011-12/msg00169.html bp) For -fcoarray=lib: DEALLOCATE support by calling caf_deregistering http://gcc.gnu.org/ml/fortran/2011-12/msg00157.html