# Standard conformance tables

**URL:** <https://fortran-lang.discourse.group/t/standard-conformance-tables/4384>\
**Category:** Uncategorized\
**Created:** [September 22, 2022, 11:10am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384 "2022-09-22T11:10:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [September 22, 2022, 11:10am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/1 "2022-09-22T11:10:18Z")

</div>

Fortran standard conformance tables

The latest version of the tables are now available.

Here is a link to our information page

> **[Fortranplus | Fortran information](https://www.fortranplus.co.uk/fortran-information/)**
>
> At Fortranplus we offer training courses in modern Fortran, conversion from Fortran 77 to modern Fortran and mixed language, object oriented and parallel programming with Fortran.

Here is a link to the standard conformance tables

> **[standard\_conformance\_tables\_revision\_2.pdf](https://www.fortranplus.co.uk/app/download/30202489/standard_conformance_tables_revision_2.pdf)**

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [September 22, 2022, 2:23pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/2 "2022-09-22T14:23:16Z")

</div>

Great! but I don’t understand why the Fortran 2008 conformance is based on GFortran 9.x (the 9.1 was released in May 2019) and the Fortran 2018 conformance is based on the still older GFortran 7.x ? It sounds weird…

---

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [September 22, 2022, 3:06pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/3 "2022-09-22T15:06:41Z")

</div>

Apologies for the inconsistency. When creating the 2018 table we started with gfortran 7.5, and I’m not sure why. Mea culpa. The vendors provide the data/updates and we incorporate the information into the tables.

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [September 22, 2022, 3:33pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/4 "2022-09-22T15:33:02Z")

</div>

GFortran 7.5 was also released in 2019, November:  
[https://gcc.gnu.org/gcc-7/](https://gcc.gnu.org/gcc-7/)

It’s quite old as we are now at Gfortran 12.2 (August 2022)  
[https://gcc.gnu.org/gcc-12/](https://gcc.gnu.org/gcc-12/)

---

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [September 22, 2022, 4:31pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/5 "2022-09-22T16:31:10Z")

</div>

We rely on the vendors provding the updates. We haven’t had any updates to the 2008 table for a while, and no updates to the 2018 table at all.

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [September 22, 2022, 4:54pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/6 "2022-09-22T16:54:33Z")

</div>

Maybe you could simply add a line in the tables with the release date of the compilers. It would give a clue to the reader who is not familiar with certain compilers and don’t know what is their latest version.

---

<div class="post-metadata">

**Author:** ![rgba](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/rgba/32/2115_2.png) [@rgba](https://fortran-lang.discourse.group/u/rgba)\
**Post date:** [September 22, 2022, 5:49pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/7 "2022-09-22T17:49:27Z")

</div>

> [@cmaapic](#):
>
> We rely on the vendors provding the updates. We haven’t had any updates to the 2008 table for a while, and no updates to the 2018 table at all.

Well I know for sure that `select rank` is not supported for gfortran \< 10 but supported for gfortran \>= 10.

You can see it mentioned here:  
[https://gcc.gnu.org/wiki/Fortran2018Status](https://gcc.gnu.org/wiki/Fortran2018Status)

And actually tested (by me) here:

> <https://github.com/QcmPlab/LIB_DMFT_ED/commit/63ae18beb9d60b9108fd7fac40e0cd56754b8b7a>
>
> Huge simplification of set\_Hreplica interface for symmetry expansion, by
> means o…f assumed-rank arrays (Fortran 2018 feature).
> \> reference: §5.2 @ https://wg5-fortran.org/N1901-N1950/N1942.pdf
> 
> This allows to define a unique procedure to handle single-site and RDMFT
> Hreplica initialization, with both the new and legacy APIs: the dispatch
> to the specific implementation is done /at runtime/ via the select rank
> construct, thus enabling the program to distinguish the \[Nbath,Nsym\] and
> \[Nineq,Nsym\] cases in a concise, elegant way. Of course, the Nbath=Nineq
> case is the tricky one and we handle it by prioritizing the new API.
> 
> Even though as a general principle static overloading may lead to faster
> execution, here we call the procedure just once (at the solver init), so
> I do not foresee significant performance problems.
> 
> ————————————————————————————————————————————————————————————————————————
> 
> Tested with current (hash:7019911) database version of...
> 
> • ed\_hm\_square driver, which implements the new single-site API.
> 
> • ed\_kane\_mele\_AFMxy driver, which implements the legacy RDMFT API.
> 
> In both cases everything seems to work fine.
> 
> \> Fortran compiler used for testing: gcc v11.3.0 (Homebrew latest)
> 
> ————————————————————————————————————————————————————————————————————————
> 
> Minimum version of gfortran should be 10.0 according to
> \> https://gcc.gnu.org/wiki/Fortran2018Status (see SELECT RANK)
> 
> For intel I could not find the exact minimum version, but for sure Intel
> Fortran Compiler Classic 2021.1.1 supports all Fortran 2018 features.
> \> https://en.wikipedia.org/wiki/Intel\_Fortran\_Compiler
> 
> For reference, the latest Ulysses modules are respectively
> \- gcc version 11.2.1
> \- ifort version 2021.2.0
> (but I have to investigate actual support for mkl and openmpi...)
> 
> I would say that merging this update may be reasonable, but we should
> definitely have a discussion about it. So I push this commit to a new
> branch: 'assumed\_rank\_lambdas'.

So I guess you cannot rely on accurate updates from gfortran…

---

<div class="post-metadata">

**Author:** ![rgba](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/rgba/32/2115_2.png) [@rgba](https://fortran-lang.discourse.group/u/rgba)\
**Post date:** [September 22, 2022, 5:51pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/8 "2022-09-22T17:51:02Z")

</div>

I checked that in your table `select rank` appears as not supported in gfortran, which surely matches the reported version and the “no updates received” statement.

---

<div class="post-metadata">

**Author:** ![jme52](https://avatars.discourse-cdn.com/v4/letter/j/c4cdca/32.png) [@jme52](https://fortran-lang.discourse.group/u/jme52)\
**Post date:** [September 28, 2022, 9:18am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/9 "2022-09-28T09:18:49Z")

</div>

Thank you for the updated tables.

I am also a bit confused about the PGI/NVIDIA compiler (2008 table contains PGI 18.1, 2018 table has Nvidia 16.4 instead), could you clarify that? I would expect here a recent version (22.x) of nvfortran.

Regarding the outdated data, maybe it would be easier to collect information if the browsable database discussed in [Compiler support tables](https://fortran-lang.discourse.group/t/compiler-support-tables/3059) was implemented? In the end, we want to increase vendor engagement in the adoption of new language features, maybe this could become a PR thing where we use vendor inputs to rank compilers?

---

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [September 29, 2022, 8:09am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/10 "2022-09-29T08:09:10Z")

</div>

Thanks for brining this to our attention.The PGI/Nvidia issue goes back to the original version of these tables that appeared in 2020 in Fortran Forum.

We haven’t had any updates since then from Nvidia so we haven’t changed the data in the tables.

We update the tables when the vendors provide us with the information.

At the moment we don’t have any plans to implement a browsable on line version of the data.

If some wants to do that we have no issue with that.

Ian

---

<div class="post-metadata">

**Author:** ![henilp105](https://avatars.discourse-cdn.com/v4/letter/h/919ad9/32.png) [@henilp105](https://fortran-lang.discourse.group/u/henilp105)\
**Post date:** [September 29, 2022, 3:25pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/11 "2022-09-29T15:25:09Z")

</div>

@cmaapic sir, I am willing to maybe digitalise or help to Bring an online searchable version of this data in my free time, how to go forward in this direction ( if you could please share your vision regarding this) ?

Thanks and Regards,  
Henil

---

<div class="post-metadata">

**Author:** ![certik](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/certik/32/4_2.png) [@certik](https://fortran-lang.discourse.group/u/certik)\
**Post date:** [September 29, 2022, 9:04pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/12 "2022-09-29T21:04:39Z")

</div>

Thanks @cmaapic for sharing it!

---

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [September 30, 2022, 9:01am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/13 "2022-09-30T09:01:39Z")

</div>

I can provide the document in PDF, XML or HTML format. I don’t have any idea about how to provide an on line searchable version. Maybe some one else on the list can help here.

---

<div class="post-metadata">

**Author:** ![greenrongreen](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/greenrongreen/32/1249_2.png) [@greenrongreen](https://fortran-lang.discourse.group/u/greenrongreen)\
**Post date:** [September 30, 2022, 6:06pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/14 "2022-09-30T18:06:36Z")

</div>

@cmaapic Ian, your table is very helpful for the community. It’s important to have such a complete catalog of feature support in compilers. Thank you.  
Fortunately or unfortunately here at Intel we just released ifort 2021.7 and ifx 2022.2. Terrible timing on our part, apologies.  
IFX and IFORT should now be equal wrt Standards support through 2018 with the exception of the 2018 REDUCE intrinsic, which is on our to do list for the next release for IFX.  
We have updated our [IFX Language and OpenMP support page](https://cqpreview.intel.com/content/www/us/en/developer/articles/technical/fortran-language-and-openmp-features-in-ifx.html)  
At this point both compilers should implement 2008, and 2018 save for REDUCE missing in IFX. Thanks again for this valuable document!  
Ron  
#IAmIntel

---

<div class="post-metadata">

**Author:** ![rgba](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/rgba/32/2115_2.png) [@rgba](https://fortran-lang.discourse.group/u/rgba)\
**Post date:** [October 1, 2022, 10:52pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/15 "2022-10-01T22:52:16Z")

</div>

Does this imply that (almost) full F2018 features are now supported on the GPU? Does `ifx` allow to run arbitrary coarray code on GPUs?

---

<div class="post-metadata">

**Author:** ![fortran4r](https://avatars.discourse-cdn.com/v4/letter/f/9de0a6/32.png) [@fortran4r](https://fortran-lang.discourse.group/u/fortran4r)\
**Post date:** [October 2, 2022, 5:57am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/16 "2022-10-02T05:57:00Z")

</div>

C++ has a great standard conformance table:  
[https://en.cppreference.com/w/cpp/compiler\_support](https://en.cppreference.com/w/cpp/compiler_support)

---

<div class="post-metadata">

**Author:** ![certik](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/certik/32/4_2.png) [@certik](https://fortran-lang.discourse.group/u/certik)\
**Post date:** [October 2, 2022, 11:06pm UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/17 "2022-10-02T23:06:07Z")

</div>

@fortran4r it would be awesome if we could have such a table at [fortran-lang.org](http://fortran-lang.org). It should be automatically constructed from Fortran test files that must compile and run without any runtime errors.

---

<div class="post-metadata">

**Author:** ![shahmoradi](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahmoradi/32/3151_2.png) [@shahmoradi](https://fortran-lang.discourse.group/u/shahmoradi)\
**Post date:** [October 5, 2022, 5:03am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/18 "2022-10-05T05:03:54Z")

</div>

The link is broken, but for the sake of others interested in details of the latest ifort/ifx release, here is the [OneAPI release note](https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler-release-notes.html).  
Particularly eye-catching for me is “Coarrays, including Fortran 2018 teams and events, are now fully supported. (F2008 and F2018 support)”.  
The impressive progress on ifx deserves huge applause.

---

<div class="post-metadata">

**Author:** ![shahmoradi](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahmoradi/32/3151_2.png) [@shahmoradi](https://fortran-lang.discourse.group/u/shahmoradi)\
**Post date:** [October 5, 2022, 5:06am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/19 "2022-10-05T05:06:08Z")

</div>

Fortran used to have such nice standard conformance tables until very recently. I cannot find them anymore on the web.

---

<div class="post-metadata">

**Author:** ![cmaapic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/cmaapic/32/659_2.png) [@cmaapic](https://fortran-lang.discourse.group/u/cmaapic)\
**Post date:** [October 5, 2022, 11:03am UTC](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384/20 "2022-10-05T11:03:32Z")

</div>

ACM Fortran Forum has details of standard conformance tables. Here is a link. [https://dl.acm.org/institution/60272075](https://dl.acm.org/institution/60272075). The first article appeared in 2007. Here is a link [https://dl.acm.org/doi/10.1145/1243413.1243414](https://dl.acm.org/doi/10.1145/1243413.1243414). The last appeared in February 2021. [https://dl.acm.org/doi/10.1145/3432987.3432991](https://dl.acm.org/doi/10.1145/3432987.3432991) The first post in this thread has details of the latest version Jane and I have worked on, which now addresses the Fortran 2008 and Fortran 2018 standards.

[Next page](https://fortran-lang.discourse.group/t/standard-conformance-tables/4384.md?page=2)
