[Patch, Fortran, 4.6] F2008 - first coarray patch

Tobias Burnus burnus@net-b.de
Wed Jan 27 11:44:00 GMT 2010


Hi all,

attached you find my first patch for GCC/gfortran 4.6. It is the first
step to supporting coarrays in gfortran. The default mode will be serial
(single image, num_images == 1) and the current aim is to add full
support for num_images == 1 coarrays. Later, gfortran should also
support real parallelization (-fcoarray=<parallization type>), but a
good num_images == 1 support (fast, good diagnostics etc.) is remains
useful by itself [and as milestone for true parallization].

The attached patch implements CRITICAL block, ALL STOP, SYNC
ALL/MEMORY/IMAGES, and num_images. (-fbounds-check could still be
improved as  SYNC IMAGES([1,2,3]) is not detected as invalid at run
time, cf. trans-stmt.c; ditto for non-positiv image-sets in resolve.c.)

The patch does _not_ include support for coarrays themselves and thus
for all functions using them (this_image, lock, co*, ...). There exists
some preliminary work for this [1], but much needs to still be written.

Build and regtested on x86-64-linux.
OK for the trunk after 4.5 has been branched?

Tobias

[1] http://users.physik.fu-berlin.de/~tburnus/coarray/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coarray_nocodim.diff
Type: text/x-patch
Size: 42119 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100127/3f76c796/attachment.bin>


More information about the Gcc-patches mailing list