Skip to content

Commit 67649ae

Browse files
committed
doc: expand discussion of compiler status
1 parent 600943e commit 67649ae

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,14 @@ to finalize objects. The table below summarizes the observed compiler behaviors
6666

6767
| _Compiler_ | _Test failures_ | _Version tested_ |
6868
| :--- | :---: | :--- |
69-
| NAG | 1 | `nagfor` 7.1 |
70-
| GCC | 4 | `gfortran` 11.3.0, 12.1.0 |
69+
| NAG | 0 | `nagfor` 7.1 Build 7113 |
70+
| GCC | 6 | `gfortran` 12.2.0 |
7171
| Intel | 2 | `ifort` 2021.5.0 Build 20211109\_000000 |
7272
| NVIDIA | Fails to build (ICE) | `nvfortran` 2022.2 |
7373
| AMD | Fails to build (ICE) | `flang` 13.0.0 (AOCC_3.2.0-Build\#128 2021\_11\_12) |
7474

75+
See the [test suite README.md](./test/README.md) for more details on each compiler's test
76+
failures.
7577

7678
Downloading, Building, and Testing
7779
----------------------------------

test/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Compiler Support Status
2+
=======================
3+
4+
This directory contains two categories of unit tests separated into two files:
5+
* `compiler_test.f90` checks whether a compiler performs finalizes objects in
6+
each scenario that the Fortran 2018 standard requires.
7+
* `usage_test.f90` exercises the reference-counter library.
8+
The compiler tests verify the compiler in isolation, making _no_ use of the
9+
reference-counter library.
10+
11+
`nagfor` 7.1.0
12+
--------------
13+
The Numerical Algorithms Group [(NAG]) Fortran compiler] passes all of the tests in the
14+
reference-counter test suite. :trophy:
15+
16+
`gfortran` 12.2.0
17+
-----------------
18+
Because the first usage test below causes a segmentation fault,
19+
exposing `gfortran`'s test failures requires running each test individually
20+
as follows:
21+
```
22+
fpm test -- -f "<description>"
23+
```
24+
where one must replace <description> above with one of the enumerated
25+
descriptions below (or a corresponding unambiguous substring).
26+
27+
Failing checks in `compiler_test.f90`:
28+
1. finalizes a non-allocatable object on the LHS of an intrinsic assignment
29+
2. finalizes an allocated allocatable LHS of an intrinsic assignment
30+
3. finalizes a function reference on the RHS of an intrinsic assignment
31+
4. finalizes a function reference on the RHS of an intrinsic assignment
32+
5. finalizes a specification expression function result
33+
34+
Failing checks in `usage_test.f90`:
35+
1. copy points to the same resource as the original
36+
2. has zero references after a shallow copy goes out of scope
37+
38+
[(NAG) Fortran compiler]: https://www.nag.com/content/nag-fortran-compiler
39+

0 commit comments

Comments
 (0)