Implementing OpenACC's Fortran module

James Norris jnorris@codesourcery.com
Tue Aug 19 00:11:00 GMT 2014


Hi Tobias,

Tobias Burnus wrote:
>> How about the following:
>> * Keep the _h functions.
>> * Create a "module openacc_internal" with interface blocks for the _h
>>    procedures and move the interface block for the _l procedures there
>>    from the module openacc.
>> * In module openacc, remove the PUBLIC statement for the _l functions,
>>    USE the openacc_internal module, append in the "procedure ::" statements
>>    "_h" to the procedure names. And remove the "contains" with all its
>>    module procedures.
>>
>> That way you only have the procedures once - and not twice. Additionally,
>> you avoid that "use openacc" imports the _l names into the namespace.
>>

Yes, that scheme seems to work very well. See attached.

Jim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openacc.f90
Type: text/x-fortran
Size: 33268 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140819/2b5d1441/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openacc_lib.h
Type: text/x-fortran
Size: 11940 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140819/2b5d1441/attachment-0001.bin>


More information about the Fortran mailing list