Skip to content

Doc: report GCC 13 passes all tests; Feat: impure elemental free procedure #60

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,17 @@ summarizes the observed compiler behaviors:
| :--- | :---: | :--- |
| AMD | N.A. (see Note 1.) | `flang` 13.0.0 (AOCC_3.2.0-Build\#128 2021\_11\_12) |
| Cray | >= 3 (see Note 2.) | `ftn` 13.0.1 |
| GCC :trophy: | 0 (see Note 3.) | `gfortran` 13.0.1 20230321 (experimental) |
| GCC :trophy: | 0 | `gfortran` 13.1.0 |
| IBM | 1 | `xlf2008_r` 17.1.0 on AIX |
| Intel | 1 | `ifort` 2021.7.0 Build 20220726_000000 |
| LLVM | N.A. (see Note 4.) | `git` commit `f5253058144aca1e9fcacd` (9/20/2022)
| LLVM | N.A. (see Note 3.) | `git` commit `f5253058144aca1e9fcacd` (9/20/2022)
| NAG :trophy: | 0 | `nagfor` 7.1 Build 7113 |
| NVIDIA | 2 | `nvfortran` 22.7-0 |

**Notes**
1. Fails to build due to an internal compiler error (ICE).
2. Fails to build due to `fpm` issue [767]. See [test/README.md#cray] for a lower bound on the Cray compiler test failures.
3. See [test/README.md#gnu](./test/README.md#gnu) for instructions on building a current GCC from source.
4. Fails to build due to type finalization not yet being supported.
3. Fails to build due to polymorphism not yet being supported. However, a refactored version of 10 the compiler tests in [./tests/compiler_test_m.f90] pass when incorporated into the [llvm-test-suite].

See the [test suite README.md](./test/README.md) for more details on each compiler's test
results.
Expand Down Expand Up @@ -144,3 +143,5 @@ class diagram below of the three derived types in Smart-Pointers.
[767]: https://github.com/fortran-lang/fpm/issues/767
[test/README.md#cray]: ./test/README.md#cray
[Sourcery]: https://github.com/sourceryinstitute/sourcery
[./tests/compiler_test_m.F90]: ./tests/compiler_test_m.F90
[llvm-test-suite]: https://github.com/llvm/llvm-test-suite
2 changes: 1 addition & 1 deletion example/user_object_smart_pointer.f90
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module function construct(user_object) result(user_object_ptr)

interface

module subroutine free(self)
impure elemental module subroutine free(self)
implicit none
class(user_object_ptr_t), intent(inout) :: self
end subroutine
Expand Down
2 changes: 1 addition & 1 deletion src/smart_pointer/sp_resource_m.f90
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module sp_resource_m

abstract interface

subroutine free_interface(self)
impure elemental subroutine free_interface(self)
import sp_resource_t
class(sp_resource_t), intent(inout) :: self
end subroutine
Expand Down
2 changes: 1 addition & 1 deletion test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ ftn compile_me_only.f90
The number of unit test failures for the remainder of the Smart-Pointers test suite is unknown.

### GCC
- Version: 13.0.1 20230321 (experimental)
- Version: 13.1.0
- Result: 0 test failures.
```
% fpm test
Expand Down