以下内容仅适用于 Fortran。
如果要在两个连续的活动并行区域之间保持的线程(初始线程除外)的 threadprivate 对象中的数据值条件不能全部成立,则第二个区域中的可分配数组的分配状态可能为“当前未分配”。
如果将共享变量传递到非内在过程,可能导致该共享变量的值在过程引用之前被复制到临时存储中,并在过程引用之后又从临时存储中复制到实元参数存储中。仅当 OpenMP 3.0 规范第 88 页的 2.9.3.2 节中的条件 a、b、c 成立时,才会发生这种向临时存储复制数据以及从临时存储向外复制数据的情况,这三个条件如下:
实元参数为以下参数之一:
共享变量
共享变量的子对象
与共享变量关联的对象
与共享变量子对象关联的对象
实元参数也可以是以下参数之一:
数组段
带有向量下标的数组段
假定形状数组
指针数组
此实元参数的关联哑元参数是显式形状数组或假定大小数组。
此实现中同时提供了头文件 omp_lib.h 和模块文件 omp_lib。
在 Solaris 平台中,采用参数的 OpenMP 运行时库例程是通过通用接口扩展的,因此可以适应不同 Fortran KIND 类型的参数。