This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gomp - equivalence for threadprivate data


Steve Kargl wrote:
> I doubt that this misfeature has ever been allowed by any 
> revision of the OpenMPi Standard, so -fopen-std=legacy make
> no sense.  Perhaps, -fopenmp-lemming or -fgnu-openmp.  The
> default behavior should be an error.
>   

Well, legacy is meant for legacy code: I think (almost?) no code which
is only allowed by -std=legacy was ever legal Fortran
66/77/90/95/2003/2008, but still it is supported. Actually things like
"<tab>" (esp. in fixed-form source code) were never allowed and still
gfortran accepts then by default (-std=gnu) and without warning.

In that regard I don't see a reason why a widely supported non-standard
OpenMP construct, which is used in real-world programs cannot be
supported (be it with a warning, be it with a special flag).

>> Regarding the legacy checking: Gfortran also supports the <tab>
>> character in $omp! contrary to the standard but in line with the other
>> compilers. One could add an error/warning there, but again one misses a
>> -fopenmp-std= option.
>>     
> tab is perfectly fine within OpenMP 3.0.
>   

See http://gcc.gnu.org/ml/fortran/2008-05/msg00326.html and in the spec:
(2.1.1) "Initial directive lines must have a space or a zero in column 6"

The tab is accepted without any warning or error in gfortran, which I
think it OK, but one could argue otherwise.*

Tobias

* Actually, I mentioned that both when the patch went into the GOMP3
branch and before its merge to the trunkj,
http://gcc.gnu.org/ml/fortran/2008-06/msg00035.html, but no one thought
that a warning/error was really required. [I'm happy with that
change/the status quo (as I would be if a warning were printed).]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]