Chart of Fortran 2018 Features supported by GNU Fortran
Bugzilla: F2018 meta bug
See also:
The listed items follow the sections in the following writeup:
The new features of Fortran 2018 by John Reid
Further interoperability of Fortran with C (TS 29113) |
|
C descriptors |
Yes (since 9.0, 2019-01-12) |
Attribute codes |
Yes (since 9.0, 2019-01-12) |
The type CFI_dim_t |
Yes (since 9.0, 2019-01-12) |
Type codes |
Yes (since 9.0, 2019-01-12) |
Other constants |
Yes (since 9.0, 2019-01-12) |
Memory for a C descriptor |
Yes (since 9.0, 2019-01-12) |
C functions declared in ISO Fortran binding.h |
Yes (since 9.0, 2019-01-12) |
Interoperability of procedures |
Yes (since 12.0?) |
Lifetimes |
n/a (restriction on user code) |
Interoperability with the C type ptrdiff_t |
Yes (since 4.8, 2012-07-21) |
Changes to procedures in the iso_c_binding module |
Yes (since 12.0?) |
Assumed rank |
Yes (since 9.0, 2019-01-12) |
SELECT RANK |
Yes (since 10.0, 2019-09-01) |
Assumed type |
Yes (since 4.8, 2012-03-03) |
Allocatable dummy arguments of intent out |
Yes (since 12.0?) |
Contiguous attribute |
Yes (since 12.0) |
Optional arguments |
Yes (since 4.7, 2011-05-06) |
Asynchronous communication |
Unknown |
Additional parallel features in Fortran (TS 18508) |
|
Teams |
Partial (since 8.0) |
Image failure |
No |
Form team statement |
No |
Change team construct |
No |
Coarrays allocated in teams |
No |
Critical construct |
No |
Lock and unlock statements |
No |
Events |
Yes (since 6.0) |
Sync team statement |
No |
Image selectors |
No |
Procedure calls and teams |
No |
Intrinsic functions get_team and team_number |
No |
Intrinsic function image_index |
No |
Intrinsic function num_images |
No |
Intrinsic function this_image |
No |
Intrinsic function move_alloc |
No |
Fail image statement |
Yes (since 7.0) |
Detecting failed and stopped images |
Yes (since 7.0) |
Collective subroutines |
Yes (since 5.0) |
New and enhanced atomic subroutines |
Yes (since 5.0) |
Failed images and stat= specifiers |
No |
Conformance with ISO/IEC/IEEE 60559:2011 |
|
Subnormal values |
Yes (since 9) |
Type for floating-point modes |
Yes (since 13) |
Rounding modes |
Yes (since 13) |
Rounded conversions |
No |
Fused multiply-add |
Yes (since 13) |
Test sign |
Yes (since 13) |
Conversion to integer type |
No |
Remainder function |
Yes (since 13) |
Maximum and minimum values |
Yes (since 14) |
Adjacent machine numbers |
No |
Comparisons |
Yes (since 14) |
Features that address deficiencies and discrepancies |
|
Default accessibility for entities accessed from a module |
No |
Implicit none enhancement |
Yes (since 5.0) |
Referencing a property of an object in a constant expression |
No |
Enhancements to inquire |
No |
d0.d, e0.d, es0.d, en0.d, g0.d and ew.d e0 edit descriptors |
No |
Formatted input error conditions |
No |
Rules for generic procedures |
No |
Enhancements to stop and error stop |
Partial (since 7.0), missing: PR84519 |
Intrinsics that access the computing environment |
No |
New elemental intrinsic function out_of_range |
No |
New reduction intrinsic reduce |
No |
Intrinsic functions image_index, lcobound, ucobound, and this_image |
No |
Intrinsic function coshape |
No (PR99250) |
Intrinsic subroutine random_init |
Yes, (since 10) |
Intrinsic function sign |
No |
Intrinsic functions extends_type_of and same_type_as |
No |
Detecting nonstandard intrinsics |
No |
Kind of the do variable in implied do |
No |
Locality clauses in do concurrent |
No |
Control of host association |
No |
Connect a file to more than one unit |
Yes (since 10) |
Advancing input with size= |
No |
Extension to the generic statement |
No |
The value attribute for an argument of a defined operation or assignment |
No |
Removal of anomalies regarding pure procedures |
Partial (since 5.0) |
Recursive and non-recursive procedures |
No |
Simplification of calls of the intrinsic cmplx |
No |
Removal of the restriction on argument dim of many intrinsic functions |
No |
Kinds of arguments of intrinsic and IEEE procedures |
No |
Hexadecimal input/output |
No |
Precision of stat= variables |
No |
Deletions |
Yes (since 9.0) |
New obsolescences |
No (PR85839) |