@@ -30,31 +30,27 @@ Detailed Results
3030- Result: Fails to build due to an internal compiler error (ICE)
3131
3232### Cray
33- - Version: 13.0.1
34- - Result: at least 3 test failures.
35- The Smart-Pointers library does not currenlty build with the Cray Fortran compiler, but
36- the compiler standard-conformance tests embodied in [ compiler_test_m.f90] also exist in
37- a standalone format in a type-finalization [ branch] of the Berkely Lab fork of the
38- llvm-test-suite repository. The reslts of running those compiler test show three compiler
39- test failures as follows:
33+ - Version: 17.0.0
34+ - Result: 4 test failures.
4035```
41- git clone https://github.com/berkeleylab/llvm-test-suite
42- cd llvm-test-suite/Fortran/UnitTests/finalization
43- ftn compile_me_only.f90
44- > ./a.out
45- Cray Fortran : Version 13.0.1 fails to compile specification_expression_finalization.f90
46- Pass: finalizes a non-allocatable object on the LHS of an intrinsic assignment
47- Fail: finalizes an allocated allocatable LHS of an intrinsic assignment
48- Pass: finalizes a target when the associated pointer is deallocated
49- Pass: finalizes an object upon explicit deallocation
50- Pass: finalizes a non-pointer non-allocatable object at the END statement
51- Pass: finalizes a non-pointer non-allocatable object at the end of a block construct
52- Pass: finalizes a function reference on the RHS of an intrinsic assignment
53- Fail: finalizes a specification expression function result
54- Fail: finalizes an intent(out) derived type dummy argument
55- Pass: finalizes an allocatable component object
36+ The compiler
37+ Pass: finalizes a non-allocatable object on the LHS of an intrinsic assignment
38+ Fail: finalizes an allocated allocatable LHS of an intrinsic assignment
39+ Pass: finalizes a target when the associated pointer is deallocated
40+ Pass: finalizes an object upon explicit deallocation
41+ Pass: finalizes a non-pointer non-allocatable object at the END statement
42+ Pass: finalizes a non-pointer non-allocatable object at END BLOCK statement
43+ Pass: finalizes a function reference on the RHS of an intrinsic assignment
44+ Pass: finalizes a specification expression function result
45+ Fail: finalizes an intent(out) derived type dummy argument
46+ Pass: finalizes an allocatable component object
47+
48+ A smart_pointer
49+ Pass: creates a resource when constructed
50+ Fail: removes the resource when the object goes out of scope
51+ Pass: copy points to the same resource as the original
52+ Fail: has zero references after a shallow copy goes out of scope
5653```
57- The number of unit test failures for the remainder of the Smart-Pointers test suite is unknown.
5854
5955### GCC
6056- Version: 13.1.0
0 commit comments