@@ -15,7 +15,7 @@ Summary
1515
1616* [ AMD] ( #amd ) : unsupported (fails to build Smart-Pointers)
1717* [ Cray] ( #cray ) : partial support (3 test failures)
18- * [ GCC] ( #gnu ) : partial support (6 test failures)
18+ * [ GCC] ( #gnu ) : full support : trophy :
1919* [ IBM] ( #ibm ) : partial support (1 test failure)
2020* [ Intel] ( #intel ) : partial support (1 test failure)
2121* [ LLVM] ( #llvm ) : unsupported (fails to build Smart-Pointers)
@@ -57,31 +57,43 @@ ftn compile_me_only.f90
5757The number of unit test failures for the remainder of the Smart-Pointers test suite is unknown.
5858
5959### GCC
60- - Version: 12.2.0
61- - Result: 4 test failures.
60+ - Version: 13.0.1 20230321 (experimental)
61+ - Result: 0 test failures.
6262```
6363 % fpm test
6464Project is up to date
6565
6666 The compiler
67- Fail : finalizes a non-allocatable object on the LHS of an intrinsic assignment
68- Fail : finalizes an allocated allocatable LHS of an intrinsic assignment
67+ Pass : finalizes a non-allocatable object on the LHS of an intrinsic assignment
68+ Pass : finalizes an allocated allocatable LHS of an intrinsic assignment
6969 Pass: finalizes a target when the associated pointer is deallocated
7070 Pass: finalizes an object upon explicit deallocation
7171 Pass: finalizes a non-pointer non-allocatable object at the END statement
7272 Pass: finalizes a non-pointer non-allocatable object at END BLOCK statement
73- Fail : finalizes a function reference on the RHS of an intrinsic assignment
74- Fail : finalizes a specification expression function result
73+ Pass : finalizes a function reference on the RHS of an intrinsic assignment
74+ Pass : finalizes a specification expression function result
7575 Pass: finalizes an intent(out) derived type dummy argument
7676 Pass: finalizes an allocatable component object
7777
7878 A smart_pointer
79- (skipped copy of declared reference due to a gfortran bug that would cause a segmentation fault)
8079 Pass: creates a resource when constructed
8180 Pass: removes the resource when the object goes out of scope
82- Fail: copy points to the same resource as the original
83- Fail: has zero references after a shallow copy goes out of scope
81+ Pass: copy points to the same resource as the original
82+ Pass: has zero references after a shallow copy goes out of scope
83+ ```
84+
85+ The above gfortran version was built from source using commands of the following form:
86+ ```
87+ git clone git@github.com:sourceryinstitute/opencoarrays
88+ cd opencoarrays
89+ ./install.sh -p gcc -b master -j <num-threads>
90+ export LD_LIBRARY_PATH="${PWD}/prerequisites/installations/lib"
91+ export PATH="${PWD}/prerequisites/installations/bin:$PATH"
8492```
93+ after replacing ` <num-threads> ` with the desired number of threads for an accelerated,
94+ multithreaded build. Producing the above test results requires GCC commit
95+ [ d7caf313525a46f200d7f5db1ba893f853774aee] , which reduced the number of gfortran test
96+ failures from six to zero.
8597
8698### IBM
8799- Version: IBM Open XL Fortran for AIX 17.1.0
@@ -176,3 +188,4 @@ Project is up to date
176188[ compiler_test_m.f90 ] : ./compiler_test_m.f90
177189[ sp_smart_pointer_test_m.f90 ] : ./sp_smart_pointer_test_m.F90
178190[ branch ] : https://github.com/BerkeleyLab/llvm-test-suite/tree/fortran-type-finalization/Fortran/UnitTests/finalization
191+ [ d7caf313525a46f200d7f5db1ba893f853774aee] : https://github.com/gcc-mirror/gcc/commit/5889c7bd46a45dc07ffb77ec0d698e18e0b99840
0 commit comments