对于 Fortran,如果由 __auto 或 default(__auto) 子句自动确定某个变量的作用域,并且该变量具有根据 OpenMP 规范预先确定的作用域,则编译器将根据该预先确定的作用域来确定变量的作用域。
对于 Fortran,下列变量具有预先确定的作用域:
threadprivate 指令中出现的变量和通用块为 threadprivate。
DO 或 PARALLEL DO 构造的 DO 循环中的循环迭代变量在该构造中为 private。
在并行构造的顺序循环中作为循环迭代变量使用的变量在该并行构造中为 private。
隐含的 DO 或 FORALL 索引为 private。
Cray pointee 会继承其 Cray Fortran 指针关联的存储的共享属性。