[Bug fortran/44036] I can't declare an external function in an OMP shared statement.

jakub at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed May 12 07:00:00 GMT 2010



------- Comment #3 from jakub at gcc dot gnu dot org  2010-05-12 07:00 -------
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."

Does integer, external :: f satisfy this?

What would it mean whether f is shared, private etc.?  All you can do with
that is call it.

On the other side,
integer, pointer, external :: fp
I'd say is a variable, but internally in gfortran is FL_PROCEDURE too.  The
pointer can be changed to point to some other procedure, has associated
storage, etc.  So I guess a patch like #c1 that allows attr.external
attr.pointer FL_PROCEDUREs.

is something we want to do.  Bu


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |longb at cray dot com


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



More information about the Gcc-bugs mailing list