コンパイラーは、OpenMP API 2.0 と 2.5 のいくつかの制限をチェックします。 スタティックの検証機能が有効な場合、コンパイラーでは OpenMP API の制限に対して、次の項目を含む追加の確認を行います。
並列領域の動的範囲を含む入れ子された並列領域
並列領域のプライベート変数
スレッド・プライベート変数
OpenMP 節で使用される式
例: OpenMP 宣言子の誤った使用
gafort.f90 ファイルには、次のコードが含まれています。
310 !$OMP PARALLEL DO ORDERED
311 ! create an array of locks
312 !$ DO i = 1,indmax
313 !$ CALL omp_init_lock(lck(i))
314 !$ ENDDO
315 !$OMP END PARALLEL DO
並列領域には ORDERED 節がありますが、対応する OpenMP の ORDERED 宣言子はありません。 スタティックの検証機能で次のメッセージが発行されます。
gafort.f90(310): エラー #12204: [SV] ORDERED 句は ORDERED DO ではない構文のダイナミック・エクステントで使用されています。