インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このリリースでは、次の Fortran 2008 機能が追加されました。
FINDLOC 組込み関数
PROCEDURE リストで複数の型バインド・プロシージャーを宣言できます。
割付多相変数への組込み代入は、変数が Co-Array でない場合に許可されます。詳細は、「多相変数への組込み代入の例」 (英語) を参照してください。
組込みモジュール関数 COMPILER_OPTIONS および COMPILER_VERSION
データ文では、添字と入れ子の暗黙の DO 境界に、定数、暗黙の DO 変数、組込み演算の組み合わせだけでなく、定数式を指定できます。
組込み関数 ACOS、ACOSH、ASIN、ASINH、ATAN、ATANH、COSH、SINH、TAN、および TANH では COMPLEX 型の引数を指定できます。組込み関数 ATAN (Y, X) は ATAN2 (Y, X) として定義されます。
INTENT(IN) 属性を持つポインター仮引数は、TARGET 属性を持つ非ポインター実引数に関連付けられた引数にすることができます。
データポインターを返す関数への参照は、変数として扱われ、任意の「変数定義のコンテキスト」 (英語) で許可されます。
割付けコンポーネントには、再帰型 (定義される型) またはフォワード型 (未定義の派生型) を指定できます。
ALLOCATE 文では、SOURCE= または MOLD= に対して複数の割付けオブジェクトを指定できます。また、ALLOCATE 文の s-spec リストで上限と下限を指定しない場合、配列の形状は SOURCE=source-expr または MOLD=source-expr になります。
初期化式は定数式として参照されます。
次の Fortran 2008 機能がサポートされています。
EXIT 文は、BLOCK、IF、ASSOCIATE、SELECT CASE、または SELECT TYPE 構造で指定できます。
組込み型は、TYPE 文で指定できます。
名前付き定数配列に暗黙形状配列宣言を指定できます。
COMPLEX 型の値の実部と虚部に %re および %im 指示子を指定できます。
ポインターの初期化
組込みルーチン BGE、BGT、BLE、BLT、CMPLX、DBLE、DSHIFTL、DSHIFTR、IAND、IEOR、INT、IOR、MERGE_BITS、および REAL では、1 つ以上の引数で 2 進、8 進、および 16 進の定数が許可されます。
FORALL 文の triplet-spec では、subscript-name にオプションの整数型を指定できます。
ALLOCATE 文で、値をコピーせずに別の変数の形状と型を多相変数に割り当てるには、SOURCE= を MOLD= に変更します。
プロシージャー引数とポインター仮引数を除き、PURE 関数は、明示的に INTENT(IN) を指定せずに VALUE 属性を持つ仮引数を持つことができます。
ELEMENTAL プロシージャーの仮引数は、プロシージャーの宣言式で指定できます。
組込み関数 SELECTED_REAL_KIND と組込みモジュール・プロシージャー IEEE_SELECTED_REAL_KIND では、オプション引数 RADIX を指定できます。
サブモジュール
IMPURE キーワード
EXECUTE_COMMAND_LINE サブルーチン
BLOCK 構造
内部プロシージャーおよびモジュール・プロシージャーの END 文で FUNCTION および SUBROUTINE キーワードは任意です。
出力でゼロに丸められる (ゼロではない) 負の値の先頭にマイナス記号を付けて表示します。
プロシージャーの 1 つの仮引数が ALLOCATABLE 属性で、別の仮引数が INTENT (IN) を含まない POINTER 属性の場合、または 1 つがプロシージャーでもう一方がデータ・オブジェクトの場合の汎用的な解決
ENTRY 文は古い (非推奨) の機能です。
SOURCE 文は 1 つ以上のセミコロンで始まります。
Co-Array 組込みルーチン: ATOMIC_DEFINE および ATOMIC_REF
ALLOCATE の多相 MOLD= 指定子
Co-Aarrays (Windows* および Linux* のみ)
イメージ制御文: SYNC ALL、SYNC IMAGES、SYNC MEMORY、CRITICAL、LOCK、および UNLOCK
Co-Array 組込みルーチン: IMAGE_INDEX、LCOBOUND、NUM_IMAGES、THIS_IMAGE、および UCOBOUND
CRITICAL 構造
最大配列ランクは 15 (インテル® Fortran では 31 次元)
G0 および G0.d フォーマット編集記述子
FINAL ルーチン
型バインド・プロシージャーでの GENERIC、OPERATOR、および ASSIGNMENT の多重定義
ジェネリック・インターフェイスの名前は派生型と同じ名前を使用可能
ポインター代入の境界の仕様と境界の再マップリスト
書式設定の * (無制限の反復回数を示す)
OPEN の NEWUNIT= 指定子
CONTAINS セクションは空にすることも可能
CODIMENSION 属性および CONTIGUOUS 属性
ALLOCATABLE、ALLOCATE、および TARGET 文での Co-Array の指定
ALLOCATE の MOLD キーワード
DO CONCURRENT 文
ERROR STOP 文
組込み関数: BESSEL_J0、BESSEL_J1、BESSEL_JN、BESSEL_Y0、BESSEL_Y1、BESSEL_YN、BGE、BGT、BLE、BLT、DSHIFTL、DSHIFTR、ERF、ERFC、ERFC_SCALED、GAMMA、HYPOT、IALL、IANY、IPARITY、IS_CONTIGUOUS、LEADZ、LOG_GAMMA、MASKL、MASKR、MERGE_BITS、NORM2、PARITY、POPCNT、POPPAR、SHIFTA、SHIFTL、SHIFTR、STORAGE_SIZE、TRAILZ
ISO_FORTRAN_ENV モジュール定数: ATOMIC_INT_KIND、ATOMIC_LOGICAL_KIND、CHARACTER_KINDS、INTEGER_KINDS、INT8、INT16,INT32、INT64、LOGICAL_KINDS、REAL_KINDS、REAL32、REAL64、REAL128、STAT_LOCKED、STAT_LOCKED_OTHER_IMAGE、STAT_UNLOCKED
ISO_FORTRAN_ENV 型: LOCK_TYPE
ALLOCATED の SCALAR キーワード
Fortran 標準については、Fortran 標準委員会の Web サイト http://j3-fortran.org/ (英語) を参照してください。