要调用自动确定作用域功能,可通过在 __auto 数据作用域子句中指定要确定作用域的变量或使用 default(__auto) 子句。这两种方法都是 Oracle Developer Studio 对 OpenMP 规范的扩展。
语法:__auto(list-of-variables)
对于 Fortran,也接受 __AUTO(list-of-variables)。
__auto 子句可以出现在 parallel 指令(包括 parallel for/do、parallel sections 和 Fortran parallel workshare 指令)或 task 指令中。
parallel 或 task 构造中的 __auto 子句指示编译器自动确定构造中指定变量的作用域。(请注意 auto 前面的两个下划线)。
如果在 __auto 子句中指定了变量,将不能在任何其他数据共享属性子句中指定该变量。
语法:default(__auto)
对于 Fortran,也接受 DEFAULT(__AUTO)。
default(__auto) 子句可以出现在 parallel 指令(包括 parallel for/do、parallel sections 和 Fortran parallel workshare 指令)或 task 指令中。
parallel 或 task 构造中的 default(__auto) 子句指示编译器自动确定构造中引用的所有未在任何数据作用域子句中显式确定作用域的变量的作用域。