インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
The major new features for this release are as follows:
Intrinsic subroutine FOR_LFENCE
Inserts a memory load fence instruction that ensures completion of preceding load instructions. For more information, see FOR_LFENCE.
Intrinsic subroutine FOR_MFENCE
Inserts a memory fence instruction that ensures completion of preceding load and store instructions. For more information, see FOR_MFENCE.
Intrinsic subroutine FOR_SFENCE
Inserts a memory store fence instruction that ensures completion of preceding store instructions. For more information, see FOR_SFENCE.
Compiler options check shape and warn shape
Option check shape enables compile-time and run-time array conformance checking in contexts where it is required by the standard. For more information, see check.
Option warn shape changes array conformance violations from errors to warnings if option check shape is specified. For more information, see warn.
Compiler option assume [no]recursion
Sets the default compilation mode for procedures that are not declared RECURSIVE or NON_RECURSIVE. For more information, see assume.
Compiler option stand f18
Performs standard conformance checking for the Fortran 2018 standard; this option was previously spelled stand f15. For more information, see stand.
The 2 GB limit on coarray assignments has been removed.
For direct access files, the maximum record length of 2**31-1 has been removed. The Fortran standard does not specify an upper limit on record lengths. The maximum size is now determined by how much memory is available at the time the file is opened and the file buffer is allocated.
Extensions to the VECTOR general directive
You can now specify a VECTORLENGTH clause, which lets you suggest an optimal vector length to be used by the vectorizer. For more information, see VECTOR.
You can now specify a DYNAMIC_ALIGN [(var)] or NODYNAMIC_ALIGN clause, which enables or disables dynamic alignment optimization, respectively. You can optionally use (var) to recommend the address on which to align the loop. For more information, see VECTOR.
The following are new OpenMP* features:
Fortran BLOCK/END BLOCK constructs can now be used inside OpenMP* regions and constructs.
The DECLARE REDUCTION directive
Allows custom user-defined reduction operations. For more information, see DECLARE REDUCTION.
Extensions to the REDUCTION clause
You can now specify a reduction identifier in the clause. For more information, see REDUCTION clause
For a summary of Fortran 2003 features, see Fortran 2003 Features.
For a summary of new Fortran 2008 features, see Fortran 2008 Features.
For a summary of new Fortran 2018 features, see Fortran 2018 Features.
For information on new compiler options in this release, see New Options in the Compiler Options reference.
For information about the Fortran standards, visit the Fortran standards technical committee website at http://j3-fortran.org/.
For information about the OpenMP* standards, see the OpenMP website at http://www.openmp.org/.