_auto(list-of-variables) または default(_auto) 節を parallel 構文に対して指定しても、parallel 構文に字句的または動的に包含される task 構文にも同じ節が適用されることを意味するわけではありません。
事前定義された暗黙的スコープを持たない変数を自動スコープ宣言する場合、コンパイラは、変数の使用について、規則に対して順番に確認します。規則に一致する場合、コンパイラはその規則に従って変数のスコープを決定します。一致する規則がない場合、または自動スコープ宣言が変数を処理できない場合、コンパイラは変数を shared とスコープ宣言し、parallel または task 構文を if(0) (Fortran では if(.false.)) 節が指定されているかのように処理します。詳細は、自動スコープ宣言を使用する際の制限事項を参照してください。
変数の使用がどの規則とも一致しない場合、またはコンパイラが十分な解析を行うにはソースコードが複雑すぎる場合は、通常、変数を自動スコープ宣言できません。こうした原因としてよくあるのは、たとえば、関数呼び出しや複雑な配列添え字、メモリー別名、ユーザー実装の同期などです。