Sun Studio 12: C++ ユーザーズガイド

B.2.2 #pragma does_not_read_global_data


#pragma does_not_read_global_data(funcname [, funcname])

このプラグマは、指定したルーチンが直接的にも間接的にも大域データを読み込まないことをコンパイラに宣言します。この結果、こういったルーチンの呼び出しの周辺のコードをより良く最適化できます。とくに、代入文や代入ストアの場合は、こういった呼び出しのまわりを移動させることができます。

このプラグマを使用できるのは、指定した関数のプロトタイプを宣言したあとに限定されます。大域アクセスに関する宣言が真でない場合、プログラムの動作は未定義となります。

プラグマがその引数として多重定義関数を処理する方法の詳細は、「B.1.1 プラグマの引数としての多重定義関数」を参照してください。