インテル® Parallel Studio XE 2015 Composer Edition に含まれる、インテル® Fortran コンパイラーでサポートされる Fortran 2003 の機能を以下にまとめます。
言語機能 | V14.0 | V15.0 |
---|---|---|
KIND と LENGTH 型パラメータおよび %KIND と %LENGTH 型パラメータ指定子を持つパラメータ化された派生型 | ○ | |
INTENT(OUT) 属性を持つ多相型の仮引数は UNDEFINED になるか、DEFAULT INITIALIZATION が適用される | ○ | ○ |
ユーザー定義の派生型 I/O | ○ | ○ |
ALLOCATE の多相 SOURCE= 指定子 | ○ | ○ |
ポインター代入の境界の仕様と境界の再マップリスト | ○ | ○ |
FINAL ルーチン | ○ | ○ |
型バインド・プロシージャーでの GENERIC、OPERATOR、および ASSIGNMENT の多重定義 | ○ | ○ |
列挙子 | ○ | ○ |
型拡張子 (多相型でない) | ○ | ○ |
型バインド・プロシージャー | ○ | ○ |
割り当て可能なスカラー変数 (無指定文字長でない) | ○ | ○ |
ALLOCATE と DEALLOCATE の ERRMSG キーワード | ○ | ○ |
ALLOCATE の SOURCE= キーワード | ○ | ○ |
MAX、MIN、MAXVAL、MINVAL、MAXLOC、および MINLOC の文字引数 | ○ | ○ |
組込みモジュール IEEE_EXCEPTIONS、IEEE_ARITHMETIC および IEEE_FEATURES | ○ | ○ |
ASSOCIATE 構造 | ○ | ○ |
DO CONCURRENT 構造 | ○ | ○ |
PROCEDURE 宣言 | ○ | ○ |
プロシージャー・ポインター | ○ | ○ |
ABSTRACT INTERFACE | ○ | ○ |
PASS 属性と NOPASS 属性 | ○ | ○ |
CONTIGUOUS 属性 | ○ | ○ |
コンポーネント名とデフォルト初期化を含む構造コンストラクター | ○ | ○ |
型と文字列長仕様を含む配列コンストラクター | ○ | ○ |
I/O キーワード BLANK、DECIMAL、DELIM、ENCODING、IOMSG、PAD、ROUND、SIGN、および SIZE | ○ | ○ |
書式編集記述子 DC、DP、RD、RC、RN、RP、RU、および RZ | ○ | ○ |
SYSTEM_CLOCK 組込み関数の COUNT_RATE 引数が任意の種類の REAL で指定可能 | ○ | ○ |
内部ファイルの NAMELIST I/O | ○ | ○ |
組込み関数 EXTENDS_TYPE_OF および SAME_TYPE_AS | ○ | ○ |
SELECT TYPE 構造 | ○ | ○ |
CLASS 宣言 | ○ | ○ |
PRIVATE コンポーネントの PUBLIC 型と PUBLIC コンポーネントの PRIVATE 型 | ○ | ○ |
RECORDTYPE 設定 STREAM_CRLF | ○ | ○ |
ファイルはストリームアクセス (ACCESS=’STREAM’) で開くことが可能 | ○ | ○ |
POS 指定子は INQUIRE、READ、または WRITE 文で指定可能 | ○ | ○ |
BIND 属性および文 | ○ | ○ |
言語バインドは FUNCTION または SUBROUTINE 文で、あるいは派生型を定義するときに指定可能 | ○ | ○ |
IS_IOSTAT_END 組込み関数 | ○ | ○ |
IS_IOSTAT_EOR 組込み関数 | ○ | ○ |
INTRINSIC および NONINTRINSIC は USE 文のモジュールに指定可能 | ○ | ○ |
ASYNCHRONOUS 属性および文 | ○ | ○ |
VALUE 属性および文 | ○ | ○ |
ASYNCHRONOUS 指定子は OPEN、INQUIRE、READ、または WRITE 文で指定可能 | ○ | ○ |
ID は保留状態のデータ転送で指定可能 | ○ | ○ |
FLUSH 文 | ○ | ○ |
WAIT 文 | ○ | ○ |
IMPORT 文 | ○ | ○ |
NEW_LINE 組込み関数 | ○ | ○ |
SELECTED_CHAR_KIND 組込み関数 | ○ | ○ |
組込みモジュール ISO_C_BINDING および ISO_FORTRAN_ENV | ○ | ○ |
ID 指定子と PENDING 指定子は INQUIRE 文で指定可能 | ○ | ○ |
ユーザー定義演算子は USE 文で名前変更可能 | ○ | ○ |
MOVE_ALLOC 組込みサブルーチン | ○ | ○ |
PROTECTED 属性および文 | ○ | ○ |
ポインター・オブジェクトは INTENT 属性を持つことが可能 | ○ | ○ |
GET_COMMAND 組込み関数 | ○ | ○ |
GET_COMMAND_ARGUMENT 組込み関数 | ○ | ○ |
COMMAND_ARGUMENT_COUNT 組込み関数 | ○ | ○ |
GET_ENVIRONMENT_VARIABLE 組込み関数 | ○ | ○ |
割り当て可能な派生型のコンポーネント | ○ | ○ |
割り当て可能なダミー引数 | ○ | ○ |
割り当て可能な関数結果 | ○ | ○ |
VOLATILE 属性および文 | ○ | ○ |
最大長 63 文字までの名前 | ○ | ○ |
最大 256 行の文 | ○ | ○ |
名前付き PARAMETER 定数は複素定数の一部 | ○ | ○ |
すべての I/O 文で、次の数値は任意の種類で指定可能: UNIT=, IOSTAT= | ○ | ○ |
次の OPEN 数値は任意の種類で指定可能: RECL= | ○ | ○ |
次の READ および WRITE 数値は任意の種類で指定可能: REC=、SIZE= | ○ | ○ |
次の INQUIRE 数値は任意の種類で指定可能: NEXTREC=、NUMBER=、RECL=、SIZE= | ○ | ○ |
開始する新しい I/O が自身以外の内部ファイルを修正しない内部 I/O の場合、再帰 I/O を利用可能 | ○ | ○ |
IEEE 無限大および非数は Fortran 2003 で指定されるフォーマット出力で表示 | ○ | ○ |
I/O フォーマットで、繰り返し指定子が続く場合、P 編集記述子の後のカンマはオプション | ○ | ○ |
次の組込み関数においてオプションで KIND= 引数を指定可能: ACHAR、COUNT、IACHAR、ICHAR、INDEX、LBOUND、LEN、LEN、TRIM、MAXLOC、MINLOC、SCAN、SHAPE、SIZE、UBOUND、VERIFY | ○ | ○ |
角括弧 [ ] を (/ /) の代わりに配列の区切り文字として使用可能 | ○ | ○ |
Fortran 文字セットが次の 8 ビット ASCII 文字を含むように拡張: ~ \ [ ] ` ^ { } | # @ | ○ | ○ |
Fortran 規格は、最初に制定された FORTRAN IV (FORTRAN 66) 以降、FORTRAN 77、Fortran 90、Fortran 95、Fortran 2003、および Fortran 2008 の 5 つの改訂された規格が制定されています。改訂ごとに新しい機能が追加されています。一部の改訂では、「非推奨」(時代遅れ) とされた機能や、削除された機能もあります。インテル® Fortran コンパイラーでは、非推奨の機能や削除された機能も引き続きサポートしています。
インテル® Fortran コンパイラーは、ほとんどの Fortran 2003 規格 (ISO/IEC 1539-1:2004) および Fortran 2008 規格 (ISO/IEC 1539-1:2010) の多くの機能をサポートしています。米国標準規格 Fortran 95 (ANSI X3J3/96-007) と米国標準規格 Fortran 90 (ANSI X3.198-1992) に準拠しています。
Fortran 標準委員会 J3 は、Fortran 2008、Fortran 2003、および Fortran 95 言語機能の解釈についての質問に現在回答中です。インテル® Fortran コンパイラーに実装されている機能に関連する委員会からの回答は、インテル® Fortran コンパイラーの将来のリリースにおける変更に影響する可能性があります (変更によりインテル® Fortran の以前のリリースと非互換になる場合も含む)。
インテル® Fortran コンパイラーでは、以前の Fortran 規格 (ANSI X3.9-1978 および ANSI X3.0-1966)、International Standards Organization 規格 ISO 1539-1980 (E)、Federal Information Processing Institute 規格 FIPS 69-1、Military Standard 1753 Language Specification に準拠したプログラムもサポートしています。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。