Go to main content
Oracle® Developer Studio 12.5: OpenMP API User's Guide

Exit Print View

Updated: July 2016

9.7 Fortran Issues

The issues described in this section apply to Fortran only.

9.7.1 THREADPRIVATE Directive

If the conditions for values of data in the threadprivate objects of threads other than the initial thread to persist between two consecutive active parallel regions do not all hold, then the allocation status of an allocatable array in the second region might be not be currently allocated.

9.7.2 SHARED Clause

Passing a shared variable to a non-intrinsic procedure may result in the value of the shared variable being copied into temporary storage before the procedure reference, and back out of the temporary storage into the actual argument storage after the procedure reference. Use of intervening temporary storage can occur only when the following three conditions hold regarding an actual argument:

  1. The actual argument is one of the following arguments:

    • A shared variable

    • A subobject of a shared variable

    • An object associated with a shared variable

    • An object associated with a subobject of a shared variable

  2. The actual argument is one of the following arguments:

    • An array section

    • An array section with a vector subscript

    • An assumed-shape array

    • A pointer array

  3. The associated dummy argument for the actual argument is an explicit-shape array or an assumed-size array.

9.7.3 Runtime Library Definitions

Both the include file omp_lib.h and the module file omp_lib are provided in the implementation.

On Oracle Solaris platforms, the OpenMP runtime library routines that take an argument are extended with a generic interface so arguments of different Fortran KIND types can be accommodated.