JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: Fortran ユーザーズガイド
search filter icon
search icon

ドキュメントの情報

はじめに

1.  概要

2.  Solaris Studio Fortran の使用

3.  コンパイラオプション

3.1 コマンド構文

3.2 オプションの構文

3.3 オプションのまとめ

3.3.1 頻繁に利用するオプション

3.3.2 マクロフラグ

3.3.3 下位互換のための旧オプション

3.3.4 旧オプションフラグ

3.4 オプションリファレンス

3.4.1 -aligncommon[={ 1|2|4|8| 16}]

3.4.2 -ansi

3.4.3 -arg=local

3.4.4 -autopar

3.4.5 -B{static| dynamic}

3.4.6 -C

3.4.7 -c

3.4.8 -copyargs

3.4.9 -Dname[ =def]

3.4.10 -dalign

3.4.11 -dbl_align_all[= {yes|no}]

3.4.12 -depend[={ yes|no}]

3.4.13 -dn

3.4.14 -dryrun

3.4.15 -d{ y|n}

3.4.16 -e

3.4.17 -erroff[={ %all|%none|taglist}]

3.4.18 -errtags[={ yes|no}]

3.4.19 -errwarn[={ %all|%none|taglist}]

3.4.20 -ext_names= e

3.4.21 -F

3.4.22 -f

3.4.23 -f77[= list]

3.4.24 -fast

3.4.25 -fixed

3.4.26 -flags

3.4.27 -fma={none| fused}

3.4.28 -fnonstd

3.4.29 -fns[ ={yes| no}]

3.4.30 -fpover[={ yes|no}]

3.4.31 -fpp

3.4.32 -fprecision={single |double|extended}

3.4.33 -free

3.4.34 -fround={nearest |tozero|negative| positive}

3.4.35 -fsimple[={ 1|2|0}]

3.4.36 -fstore

3.4.37 -ftrap= t

3.4.38 -G

3.4.39 -g

3.4.40 -hname

3.4.41 -help

3.4.42 -Ipath

3.4.43 -i8

3.4.44 -inline=[%auto][[ ,][no%]f1,...[ no%]fn]

3.4.45 -iorounding[={ compatible|processor-defined}]

3.4.46 -keeptmp

3.4.47 -Kpic

3.4.48 -KPIC

3.4.49 -Lpath

3.4.50 -lx

3.4.51 -libmil

3.4.52 -loopinfo

3.4.53 -Mpath

3.4.54 -m32 | -m64

3.4.55 -moddir= path

3.4.56 -mt[={ yes|no}]

3.4.57 -native

3.4.58 -noautopar

3.4.59 -nodepend

3.4.60 -nofstore

3.4.61 -nolib

3.4.62 -nolibmil

3.4.63 -noreduction

3.4.64 -norunpath

3.4.65 -O[n]

3.4.66 -O

3.4.67 -O1

3.4.68 -O2

3.4.69 -O3

3.4.70 -O4

3.4.71 -O5

3.4.72 -o name

3.4.73 -onetrip

3.4.74 -openmp

3.4.75 -p

3.4.76 -pad[= p]

3.4.77 -pg

3.4.78 -pic

3.4.79 -PIC

3.4.80 -Qoption pr ls

3.4.81 -qp

3.4.82 -R ls

3.4.83 -r8const

3.4.84 -recl=a[,b]

3.4.85 -reduction

3.4.86 -S

3.4.87 -s

3.4.88 -sb

3.4.89 -sbfast

3.4.90 -silent

3.4.91 -stackvar

3.4.92 -stop_status[={ yes|no}]

3.4.93 -temp=dir

3.4.94 -time

3.4.95 -traceback[={ %none|common|signals_list}]

3.4.96 -U

3.4.97 -Uname

3.4.98 -u

3.4.99 -unroll=n

3.4.100 -use= list

3.4.101 -V

3.4.102 -v

3.4.103 -vax=キーワード

3.4.104 -vpara

3.4.105 -w[n]

3.4.106 -Xlist[ x]

3.4.107 -xaddr32[={ yes|no}]

3.4.108 -xalias[= keywords]

3.4.109 -xannotate[={ yes|no}]

3.4.110 -xarch=isa

3.4.110.1 x86/x64 プラットフォームでの特別な注意

3.4.111 -xassume_control[ =keywords]

3.4.112 -xautopar

3.4.113 -xbinopt={prepare | off}

3.4.114 -xcache=c

3.4.115 -xcheck=keyword

3.4.116 -xchip=c

3.4.117 -xcode=keyword

3.4.117.1 位置独立コード

3.4.118 -xcommonchk[={ yes|no}]

3.4.119 -xcrossfile[={ 1|0}]

3.4.120 -xdebugformat={dwarf |stabs}

3.4.121 -xdepend

3.4.122 -xF

3.4.123 -xfilebyteorder= options

3.4.123.1 次に例を示します。

3.4.123.2 備考:

3.4.124 -xhasc[={ yes|no}]

3.4.125 -xhelp={readme| flags}

3.4.126 -xhwcprof[={enable | disable}]

3.4.127 -xia[={ widestneed|strict}]

3.4.128 -xinline= list

3.4.129 -xinstrument=[%no]datarace

3.4.130 -xinterval[={ widestneed|strict|no}]

3.4.131 -xipo[={ 0|1|2}]

3.4.132 -xipo_archive[={ none|readonly|writeback}]

3.4.133 -xivdep[= p]

3.4.134 -xjobs= n

3.4.135 -xkeepframe[=[ %all,%none,name,no% name]]

3.4.136 -xknown_lib=library_list

3.4.137 -xl

3.4.138 -xlang=f77

3.4.139 -xld

3.4.140 -xlibmil

3.4.141 -xlibmopt

3.4.142 -xlic_lib=sunperf

3.4.143 -xlicinfo

3.4.144 -xlinkopt[={ 1|2|0}]

3.4.145 -xloopinfo

3.4.146 -xmaxopt[= n]

3.4.147 -xmemalign[= <a><b>]

3.4.148 -xmodel=[small | kernel | medium]

3.4.149 -xnolib

3.4.150 -xnolibmil

3.4.151 -xnolibmopt

3.4.152 -xOn

3.4.153 -xopenmp[={ parallel|noopt|none}]

3.4.154 -xpad

3.4.155 -xpagesize= size

3.4.156 -xpagesize_heap= size

3.4.157 -xpagesize_stack= size

3.4.158 -xpec[={ yes|no}]

3.4.159 -xpg

3.4.160 -xpp={fpp| cpp}

3.4.161 -xprefetch[= a[,a]]

3.4.161.1 デフォルト

3.4.161.2 相互作用

3.4.161.3 警告

3.4.162 -xprefetch_auto_type=indirect_array_access

3.4.163 -xprefetch_level={ 1|2|3}

3.4.164 -xprofile=p

3.4.165 -xprofile_ircache[ =path]

3.4.166 -xprofile_pathmap= collect_prefix:use_prefix

3.4.167 -xrecursive

3.4.168 -xreduction

3.4.169 -xregs= r

3.4.170 -xs

3.4.171 -xsafe=mem

3.4.172 -xsb

3.4.173 -xsbfast

3.4.174 -xspace

3.4.175 -xtarget=t

3.4.175.1 一般的なプラットフォームとネイティブプラットフォーム

3.4.175.2 SPARC プラットフォーム

3.4.175.3 x86 プラットフォーム

3.4.176 -xtime

3.4.177 -xtypemap= spec

3.4.178 -xunroll=n

3.4.179 -xvector[= [[ no%]lib, [no%] simd, %none] ]

3.4.180 -ztext

4.  Solaris Studio Fortran の機能と相違点

5.  FORTRAN 77 の互換性: Solaris Studio Fortran への移行

A.  実行時のエラーメッセージ

B.  各リリースにおける機能変更

C.  Fortran 指令の要約

索引

3.3 オプションのまとめ

この節では、各コンパイラオプションを機能別に分類し、概略を説明します。詳細は、以降の節のページを参照してください。

SPARC および x64/x86 プラットフォーム両方ですべてのオプションを使用できないことに注意してください。使用可能かどうかについては、詳細オプションリファレンスの節で確認してください。

次の表に、f95 コンパイラオプションの概略を機能別に示します。この表には、廃止されたり使用されなくなったりしたオプションフラグは含まれていません。フラグによっては、複数の使用目的があるため、複数の個所に記載されているものがあります。

表 3-3 機能別コンパイラオプション

関数
オプションフラグ
コンパイルモード
コンパイルのみ。実行可能ファイルを生成しません。
-c
ドライバが作成するコマンドを表示するが、コンパイルは行われません。
-dryrun
FORTRAN 77 拡張子および互換性をサポートします。
-f77
コンパイル中に作成された一時ファイルを保持します。
-keeptmp
コンパイルされる .mod モジュールファイルを記述するためのパスを指定します。
-moddir=path
書き込むオブジェクト、ライブラリ、実行可能ファイルの名前を指定します。
-o filename
コンパイルし、アセンブリコードだけを生成します。
-S
実行可能プログラムからシンボルテーブルを除外します。
-s
エラーメッセージ以外のコンパイラメッセージを出力しません。
-silent
一時ファイルのディレクトリへのパスを定義します。
-temp=path
各コンパイルフェーズの経過時間を示します。
-time
コンパイラおよびそのフェーズのバージョン番号を示します。
-V
冗長メッセージを表示します。
-v
標準外の別名を付ける状況を指定します。
-xalias=list
マルチプロセッサによるコンパイル
-xjobs=n
コンパイルされるコード
外部名の末尾に下線を追加/抑制します。
-ext_names=x
インライン化するユーザー関数を指定します。
-inline=list
コンパイル位置独立コードを指定します。
-KPIC/-kpic
特定の数学ライブラリルーチンをインライン化します。
-libmil
STOP で整数のステータス値をシェルに返します。
-stop_status[=yn]
コードアドレス空間を指定します。
-xcode=x
先読み命令を有効にします。
-xprefetch[=x]
オプションのレジスタを指定します。
-xregs=x
デフォルトのデータマッピングを指定します。
-xtypemap=x
データの境界整列
COMMON ブロック内のデータの境界整列を指定します。
-aligncommon[=n]
強制的に COMMON ブロックデータの境界整列を行い、マルチワードのフェッチ/ストアを可能にします。
-dalign
全データを 8 バイト境界に強制的に整列させます。
-dbl_align_all
COMMON ブロックデータを 8 バイト境界に整列させます。
-f
メモリーの境界整列と動作を指定します。
-xmemalign[=ab]
デバッグ
実行時に添字の範囲検査を有効にします。
-C
dbx を使用するデバッグのためにコンパイルします。
-g
未宣言変数の検査を行います。
-u
!$PRAGMA ASSUME 表明を確認します。
-xassume_control=check
実行時のスタックオーバーフローを確認します。
-xcheck=stkovf
実行時の taskcommon の整合性検査を有効にします。
-xcommonchk
パフォーマンスアナライザのためにコンパイルします。
-xF
相互参照リストを作成します。
-Xlistx
オブジェクトファイルを使用せずにデバッグ機能を有効にします。
-xs
診断
非標準の拡張機能を報告します。
-ansi
指定された警告メッセージを抑制します。
-erroff=
エラーメッセージとともにエラータグ名を表示します。
-errtags
コンパイラオプションの要約を表示します。
-flags, -help
コンパイラおよびその構成要素のバージョン番号を示します。
-V
冗長メッセージを表示します。
-v
並列化メッセージを冗長表示します。
-vpara
警告メッセージを表示/抑制します。
-wn
コンパイラの README ファイルを表示します。
-xhelp=readme
ライセンス
ライセンスサーバー情報を表示します。
-xlicinfo
リンクおよびライブラリ
動的/静的ライブラリを許可します/要求します。
-Bx
動的/静的なライブラリのみのリンクを許可します。
-dy, -dn
動的 (共有オブジェクト) ライブラリを作成します。
-G
動的ライブラリの名前を指定します。
-hname
ディレクトリをライブラリ検索パスに追加します。
-Lpath
libname.a または libname.so というライブラリをリンクします。
-lname;
ライブラリ検索パスを実行可能プログラムに組み込みません。
-norunpath
実行時ライブラリの検索パスを実行可能プログラムに組み込みます。
-Rpath
インクリメンタルリンカー ild を使用不可にします。
-xildoff
最適化数学ライブラリをリンクします。
-xlibmopt
Sun のパフォーマンスライブラリをリンクします。
-xlic_lib=sunperf
リンクエディタのオプションを指定します。
-zx
再配置のない閉じたライブラリを生成します。
-ztext
数値および浮動小数点
非標準の浮動小数点の設定を使用します。
-fnonstd
非標準浮動小数点を選択します。
-fns
入力中に実行時浮動小数点オーバーフロー検査を有効にします。
-fpover
IEEE 浮動小数点丸めモードを選択します。
-fpround=r
浮動小数点最適化レベルを選択します。
-fsimple=n
浮動小数点トラップモードを選択します。
-ftrap=t
書式付き入出力のための丸め方法を指定します。
-iorounding=mode
単精度定数を倍精度に変換します。
-r8const
区間演算を有効にし、適切な浮動小数点環境を設定します (-xinterval を含む)。
-xia[=e]
区間演算機能を有効にします。
-xinterval[=e]
最適化とパフォーマンス
ループを解析して、データ依存関係を調べます。
-depend
オプションを一括で指定して最適化します。
-fast
最適化レベルを指定します。
-On
効率的なキャッシュ使用のためにデータレイアウトをパディングします。
-pad[=p]
局所変数をメモリースタックに割り当てます。
-stackvar
ループ展開を有効にします。
-unroll[=m]
ソースファイル間での最適化を有効にします。
-xcrossfile[=n]
相互手続きの最適化パスを呼び出します。
-xipo[=n]
#pragma OPT に最高レベルの最適化を設定します。
-xmaxopt[=n]
コンパイル後の最適化用にコンパイルします。
-xbinopt=prepare
コンパイラが生成する先読み命令を有効にするか、または調整します。
-xprefetch=list
先読み命令の自動生成をコントロールします。
-xprefetch_level=n
パフォーマンスプロファイルデータの生成または使用を有効にします。
-xprofile=p
メモリーベースのトラップが発生しないであろうと表明します。
-xsafe=mem
コードサイズが増加する場合は、最適化を行いません。
-xspace
ベクトルライブラリ関数の呼び出しを自動的に作成します。
-xvector[=yn]
並列化
DO ループの自動並列化を有効にします。
-autopar
ループの並列化情報を表示します。
-loopinfo
マルチスレッド用にプログラミングされたコードをコンパイルします。
-mt
OpenMT API 指令を受け付け、適切な環境を設定します。
-xopenmp[=keyword]
自動並列化でループ内の縮約操作を認識します。
-reduction
並列化メッセージを冗長表示します。
-vpara
ソースコード
プリプロセッサのシンボルを定義します。
-Dname[=val]
プリプロセッサのシンボルの定義を取り消します。
-Uname;
拡張 (132 文字) ソース行を受け入れます。
-e
.F.F90、および .F95 のファイルにプリプロセッサを適用するが、コンパイルは行いません。
-F
固定形式の Fortran 95 ソースを受け付けます。
-fixed
すべてのソースファイルを fpp プリプロセッサで先行処理します。
-fpp
自由形式の Fortran 95 ソースを受け付けます。
-free
ファイル検索パスにディレクトリを追加します。
-Ipath
モジュール検索パスにディレクトリを追加します。
-Mpath
大文字と小文字を区別します。
-U
ホレリスを実際の引数の文字として扱います。
-xhasc={yes|no}
使用するプリプロセッサ (cpp または fpp) を選択します。
-xpp[={fpp|cpp}]
再帰的な副プログラム呼び出しを許可します。
-xrecursive
ターゲットプラットフォーム
32 または 64 ビットのメモリーモデルを指定します。
-m32 | —m64
オプティマイザにターゲットのプラットフォームを指定します。
-xarch=a
オプティマイザにターゲットのキャッシュプロパティーを指定します。
-xcache=a
オプティマイザにターゲットのプロセッサを指定します。
-xchip=a
オプティマイザにターゲットのプラットフォームを指定します。
-xtarget=a

3.3.1 頻繁に利用するオプション

コンパイラには、オプションのコマンド行パラメータによって選択できる機能が数多くあります。次の表に、頻繁に利用するオプションをまとめてあります。

表 3-4 頻繁に利用するオプション

処理
オプション
デバッグ - 大域的にプログラムを検査し、ルーチン間での引数、共通ブロックなどの整合性を調べます。
–Xlist
デバッグ - dbx およびデバッグ機能を使用するための追加のシンボルテーブル情報を生成します。
-g
パフォーマンス - 実行速度の速い実行可能プログラムを起動します。
–O[n]
パフォーマンス - 事前に定義されている一連のオプションを使用して、ネイティブプラットフォームのコンパイルと実行時間を生成します。
-fast
動的 (-Bdynamic) または静的 (-Bstatic) ライブラリと結合します。
-Bx
コンパイルのみ - リンクを行わず、ソースファイルごとに .o ファイルを作成します。
-c
出力ファイル - 実行可能な出力ファイルの名前を a.out ではなく nm に指定します。
-o nm
ソースコード - 固定形式 Fortran ソースコードをコンパイルします。
-fixed

3.3.2 マクロフラグ

マクロフラグによっては、別のフラグの組み合わせに展開されるマクロもあります。これらのマクロフラグは、ある機能を選択するために、通常一緒に表示されるオプションを簡単に指定できるように提供されるものです。

表 3-5 マクロオプションフラグ

オプションフラグ
展開
-dalign
-xmemalign=8s -aligncommon=16
-f
-aligncommon=16
-fast
現在の展開内容の詳細は、—fast を参照してください。
-fnonstd
-fns -ftrap=common
-xia=widestneed
-xinterval=widestneed -ftrap=%none -fns=no -fsimple=0
-xia=strict
-xinterval=strict -ftrap=%none -fns=no -fsimple=0
-xtarget
-xarch=a -xcache=b -xchip=c

コマンド行でマクロフラグのあとに別のオプションを設定すると、このマクロの展開内容は上書きまたは追加されます。

3.3.3 下位互換のための旧オプション

コンパイラの初期リリース、および Fortran の一部旧機能との下位互換のためのオプションを示します。

表 3-6 下位互換性オプション

処理
オプション
ENTRY 文に対する実際の引数を保持します。
-arg=local
定数の引数への代入を可能にします。
-copyargs
呼び出し引数リストにおいてホレリス定数を文字または型なしとして扱います。
-xhasc[={yes|no}]
FORTRAN 77 拡張子および規則をサポートします。
-f77
非標準の演算 - 非標準の演算を使用可能にします。
-fnonstd
ホストシステムに合わせて最適化を行います。
-native
DO ループ - 少なくとも 1 回は DO ループを実行します。
-onetrip
従来の別名を付ける状況を許可します。
-xalias=keywords

移植性のある Fortran プログラムを作成する際には、これらのオプションフラグは使用しないでください。

3.3.4 旧オプションフラグ

次のオプションは廃止されています。使用しないでください。将来のコンパイラでは、これらのオプションは削除される予定です。

表 3-7 旧 f95 オプション

オプションフラグ
同等なオプションフラグ
-a
-xprofile=tcov
-cg89
-xtarget=ss2
-cg92
-xtarget=ss1000
-native
-xtarget=native
-noqueue
ライセンスのキューイング。現在は必要ありません。
-p
プロファイリング。-pg またはパフォーマンスアナライザを使用してください。
-pic
-xcode=pic13
-PIC
-xcode=pic32
-sb
無視されます。
-sbfast
無視されます。
-silent
無視されます。
-xarch={v7、v8、v8a}
—m32を使用してください。