On Mon, Jun 02, 2014 at 09:11:20PM +0200, Paul Richard Thomas wrote: > First I should say many thanks for this support for gfortran. This is > the one area for which we have professional support and I for one am > truly grateful. > > I have scanned through the patch and can see nothing to object to. So > I would say that this is good for trunk, especially at this stage of > the cycle.
As discussed with Tobias on IRC yesterday, the fact that I'd like to eventually backport the Fortran OpenMP 4.0 support to 4.9 branch poses a problem with the module.c changes (though, not just this, but already the earlier !$omp declare simd change to module.c). While the simd change was partly compatible (older compilers could read newer *.mod file as long as there is no !$omp declare simd, newer compilers could read older *.mod file always), the !$omp declare reduction module.c change is now incompatible. There are ways to do this compatibly, or partially compatibly, e.g. instead of adding unconditional ( list ) into the middle of *.mod file add 'OMP UDR' ( list ) conditionally (if the list is not empty, otherwise nothing), or bump MODULE_VERSION to "13" but handle both "12" and "13" in the reader, or bump MODULE_VERSION to "13" only if there is any !$omp declare {simd,reduction} to be emitted. Jakub