------- Comment #80 from burnus at gcc dot gnu dot org  2007-03-14 15:15 -------
(In reply to comment #76)
> "One issue with OpenMP is that it is very easy to break an OpenMP
> code (it is just comments),"
> This is a complaint I've heard before.  I wonder if you have any suggestions
> to make it more difficult to break OpenMP-annotated Fortran code.

I think the biggest problem is that OpenMP goes out of sync with the serial
code. (Though MPI is much, much worser in this regard.) For MPI it is simply to
forget to update the different code paths. For OpenMP, it is presumably the
condiditional compilation part and forgetting to put critical
sections/barriers.

> One think I've been thinking about, is to make the parser always parse OpenMP
> directives, and issue warnings if something doesn't look right but
> -fopenmp is not given. Is that something that would help avoid the most
> common cases of broken OpenMP directives?

I think this will help (as it at least forces the lexical correctness of the
OpenMP statements), but algorithmic problems (missing barriers/critical
sections, conditional compilation parts) can unfortunately not be found this
way ; using -fopenmp will find some more kind of problems (esp. in conditional
parts), but will not find those algorithmic problems neither.


(In reply to comment #77)
> Currently GNU Fortran (GCC) 4.3.0 20070313 (experimental)
> there seems to be a new gcc error on CP2K:
> gfortran -c -O3 -ftree-loop-linear -ftree-vectorize -ffast-math -march=opteron
> -msse2 fparser.f90
> /tmp/ccNk6D7G.s: Assembler messages:
> /tmp/ccNk6D7G.s:820: Error: suffix or operands invalid for `sahf'

Does not seem to happen (20070314 on x86-64 Linux) with current CVS version of
CP2k.


-- 


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

Reply via email to