構文:
/annotations:keyword または /noannotations
/annotations オプションは,ソース・リスト・ファイルに追加する付加情報を指定します。この情報は,ソース・ファイルの特定の部分にコンパイラが提供した最適化の組がどのようなものであったかを示します。keyword の値の幾つかは,プラットフォームでサポートされていない最適化のために存在していることに注意してください。そのような場合,ソース・リスト・ファイルには対応する注釈 (フィードバックのような) が含まれません。ビジュアル開発環境では,「Fortran」タブの「Listing Files」カテゴリの「Annotation」リストボックス中の様々な注釈キーワードを指定します。
コンパイラが実行した最適化にどのようなものがあるのか,または,コンパイラがなぜ特定のコード列に対して最適化を行えなかったのかを検証するためにソース・リスト・ファイルの注釈を表示することができます。基本設定は,/noannotations でソース・リスト・ファイルに注釈を書き込みません。
/annotations オプションの keywords には,以下のものがあります。
/annotations:none
/noannotations と同じです。基本設定値です。
/annotations:all
/annotations:all を指定すると,以下の注釈のすべてが選択されたことになります。
/annotations:code
/annotations:code を指定すると,プリフェッチ,データの位置合わせなどに対して使用される特別な命令の説明を機械語リストに注釈します。
/annotations:detail
/annotations:detail を指定すると,利用可能な場所で,詳細注釈の付加レベルを提供します。
/annotations:feedback
/annotations:feedback を指定すると,フィードバック最適化についての情報を提供します (Windows システムでは利用できません)。
/annotations:inlining
/annotations:inlining を指定すると,呼び出した手続がインライン展開されたコードの場所を示します。
/annotations:loop_transforms
/annotations:loop_transforms を指定すると,キャッシュ性能を向上するために詳細ループ入れ子最適化 (展開と詰込,ループ結合,ループ交換など) が適用された場所を示します。
/annotations:loop_unrolling
/annotations:loop_unrolling を指定すると,ループが展開 (内容が複数回展開された) された場所を示します。
/annotations:prefetching
/annotations:prefetching を指定すると,特別な命令がメモリー待ち時間を減らすために使用された場所を示します。
/annotations:shrinkwrapping
/annotations:shrinkwrapping を指定すると,ルーチンの内容を確立するコードが必要でなくなる時の除去を示します。
/annotations:software_pipelining
/annotations:software_pipelining を指定すると,プロセッサーの機能ユニットを最大限に利用するために命令の再配置が行われた場所を示します (ia32 システムでは利用できません)。
/annotations:tail_calls
/annotations:tail_calls を指定すると,1 つのルーチンから他のルーチンへの呼び出しをジャンプに置き換えることができる場所を示します。
/annotations:tail_recursion
/annotations:tail_recursion を指定すると,再帰呼び出しのために不要なルーチン内容を削除する最適化を示します。
/annotations オプションは,/list[:file] オプションが指定されていない限り無視されます。ビジュアル開発環境では,「Fortran」タブの「Listing Files」カテゴリの「Source Listing」チェックボックスをチェックしない限り,「Annotations」キーワードの選択はできません。