------- Comment #5 from burnus at gcc dot gnu dot org  2010-05-12 08:13 -------
(In reply to comment #4)
> Using the Intel Fortran Compiler 11.1 (20090630), one gets:
>   test.f90(10): error #7655: A variable is required in this OpenMP context.  

Ditto for procedure pointers.

> Sun Studio 12 and 12.1 (8.4 2009/06/03) show:

Does not support procedure pointers.


(In reply to comment #3)
> I'm not convinced that external (without pointer attribute) objects are 
> allowed
> in the shared etc. clause lists.  The OpenMP 3.0 standard says that a list 
> item
> is a variable name or common block name.  And the definition of variable is:
> "A named data storage block, whose value can be defined and redefined during
> the execution of a program."

(OpenMPv3, "1.2.4 Data Terminology")

> On the other side,
> integer, pointer, external :: fp
> I'd say is a variable, but internally in gfortran is FL_PROCEDURE too.

I think in terms of the Fortran standard it is not a variable:
"A variable is either the data object denoted by designator or the target of
expr." (Fortran2008, "6.2 Variable") - and 5.3.14 strictly distinguishes
betwixt data and procedure pointers.

However, that still does not tell whether OpenMPv3 allows procedure pointers;
as OpenMP is based on Fortran 90/95, one cannot expect a real answer in the
specification. Still, the definition for variable in OpenMPv3 seems to allow
it.

> is something we want to do.  Bu

But ?


-- 


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

Reply via email to