Oracle® Solaris Studio 12.4: OpenMP API ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

7.1 スコープチェックの概要

自動スコープ宣言を使用すると、変数をどのようにスコープ宣言するかを決定できます。ただし、複雑なプログラムの場合、自動スコープ宣言が実行されなかったり、自動スコープ宣言の結果が予期しないものになったりすることがあります。不正なスコープ宣言により、目立たないが深刻な問題が発生することがあります。たとえば、変数を shared として不正にスコープ宣言するとデータ競合が起きることがあり、変数のスレッド固有化を正しく行わないと構文内でその変数が未定義の値になる可能性があります。

スコープチェックを行えば、コンパイラの機能に応じて、データ競合、不適切な変数のスレッド固有化や縮約、およびその他のスコープ宣言上の不具合など、潜在的な問題を検出することができます。スコープチェック時には、プログラマによって指定されたデータ共有属性、事前定義されたか暗黙的に決定されたデータ共有属性、および自動スコープ宣言の結果がコンパイラによって確認されます。