Skip to content

Releases: sourceryinstitute/smart-pointers

LLVM Flang 19.0.0 passes all tests!

05 Mar 02:34
c7df19b
Compare
Choose a tag to compare

As of llvm-project git commit 325f51237252, Flang (which installs under the name flang-new), passes all tests.
This release

  1. Enables the Smart-Pointers test suite to identify LLVM Flang,
  2. Supports building and testing Smart-Pointers with the HPE Cray Compiler Environment (CCE) Fortran compiler, and
  3. Updates the compiler test status in the documentation.

What's Changed

  • doc(example/README.md): add gfortran instructions by @rouson in #59
  • Doc: report GCC 13 passes all tests; Feat: impure elemental free procedure by @rouson in #60
  • add mermaid diagram to README by @kareem-weaver in #61
  • test(shallow/smart_pointer): make free() elemental by @rouson in #66
  • Edit test/README.md by @rouson in #64
  • chore: rm unused files by @rouson in #67
  • doc(README): add ifx compiler test results by @rouson in #69
  • Housekeeping: rm unused files & correct documentation typo by @rouson in #68
  • test(compiler_test): identify flang(-new) by @rouson in #70
  • Documentation: detail LLVM flang test results by @rouson in #71
  • Partial Cray support by @rouson in #72
  • doc(README): separate compilers based on support by @rouson in #73
  • chore(fpm.toml): update version/authors/copyright/maintainer by @rouson in #74

New Contributors

Full Changelog: 2.2.0...2.3.0

GCC 13.0.1 passes all tests!

21 Mar 01:52
ab51305
Compare
Choose a tag to compare

Building gfortran 13.0.1 20230321 or later from source now produces a compiler that passes all Smart-Pointers tests.
This release updates the documentation accordingly and removes a workaround that was previously required for the test suite to run when compiled by gfortran.
One method of building gfortran from source is the following:

git clone git@github.com:sourceryinstitute/opencoarrays
cd opencoarrays
./install.sh -p gcc -b master -j <num-threads>
export LD_LIBRARY_PATH="${PWD}/prerequisites/installations/lib"
export PATH="${PWD}/prerequisites/installations/bin:$PATH"

Replace <num-threads> above with the desired number of threads for an accelerated, multithreaded build.

What's Changed

  • fix(test): update docs & rm gfortran workaround by @rouson in #56
  • doc(README.md): replace "Veggies" with "Sourcery" by @rouson in #57
  • doc(test/README.md): fix broken link by @rouson in #58

Full Changelog: 2.0.1...2.2.0

More portable test infrastructure and improved documentation

24 Oct 23:18
a3cc10c
Compare
Choose a tag to compare

This release

  1. Refactors the test suite to use a lightweight testing infrastructure from the Sourcery library in order to facilitate compiling with the Intel compilers(s),
  2. Improves the support for building with the IBM XL Fortran compiler, and
  3. Updates the documentation of the compiler testing results.

What's Changed

  • Add example JOSS paper as template by @rouson in #48
  • doc(example/README): improve language by @rouson in #49
  • Remove veggies dependency in order to support fort by @rouson in #50
  • Fix IBM XL Fortran build by @rouson in #51
  • Document compiler test results & work around IBM association issue by @rouson in #52
  • doc(README.md): update Cray compiler test results by @rouson in #53
  • Add IBM XL Fortran compile command to fpm_compiler_arguments function by @rouson in #54

Full Changelog: 2.0.0...2.0.1

New naming scheme, documentation, and example

27 Sep 02:48
da7c4ac
Compare
Choose a tag to compare

New in This Release

  1. New type names that lessen the likelihood of name clashes and center around the most common use case: smart pointers. 🎯
  2. A new example with an accompanying new README.md explaining several important subtleties and intended uses.
  3. More extensive documentation of test results for eight compilers: NAG, GNU, Intel, Cray, IBM, AMD, NVIDIA, and LLVM. 📖

What's Changed

  • Feature: Add smart pointer example by @rouson in #35
  • Feature: detect and handle compiler issues in the test suite by @rouson in #36
  • Tests: Better testing through more robust construction and destruction by @rouson in #37
  • Breaking change: More clear, descriptive, and safe nomenclature by @rouson in #39
  • doc(test/README.md): add IBM test result by @rouson in #41
  • doc(README,test/README): fix typos by @rouson in #42 🔧
  • Feature: Nullify the user-object pointer during smart-pointer construction by @rouson in #40 🔬
  • doc(README.md): fix notes by @rouson in #43 📓
  • doc(README.md): fix broken link by @rouson in #44 ⛓️
  • doc(doc/README): update class diagram by @rouson in #45
  • Add example/README.md by @rouson in #46
  • doc(example/README.md): fix broken link by @rouson in #47 🩹

Full Changelog: 1.1.0...2.0.0

Expanded tests, documentation, first fully supported compiler

10 Sep 06:45
6047ff0
Compare
Choose a tag to compare

Exhaustive Compiler Tests

As of this release,

  • The tests cover each scenario in which the Fortran standard requires type finalization. 📖
  • The NAG Fortran Compiler is the first tested compiler that passes the entire test suite. 🏆
  • TheREADME.md files in the root and test/ directories detail the compiler support status. 🗼

What's Changed

  • Update README.md with nvfortran and flang failures by @wyphan in #15
  • Add PlantUML script for generating a UML class diagram by @rouson in #18
  • Add more finalization test cases by @wyphan in #17
  • Fix specification expression in compiler test by @rouson in #19
  • doc(README): update compiler test failure tally by @rouson in #21
  • doc(README): update description of compiler tests by @rouson in #23
  • Write tests demonstrating typical usage by @everythingfunctional in #26
  • Fix typo in compiler test description for check_finalize_on_end by @wyphan in #28
  • Shallow copy test by @rouson in #31
  • doc(README.md): fix typo by @rouson in #30

New Contributors

Full Changelog: 1.0.0...1.1.0

Initial Release

17 Mar 01:44
74c9d63
Compare
Choose a tag to compare

This is the first standalone release of the code described in references [1], [2], and [3]. 📚
As compared to the original code, this repository adds

  1. A Fortran Package Manager build system, 📦
  2. Tests based on the Vegetables unit-testing software, 🥔 🥕 🥬
  3. Documentation generated by FORD and deployed to the web via GitHub Actions, and 🚗
  4. Quality control via continuous integration testing using GitHub Actions. 🏃

Although this is the first release, this is stable code with no known internal issues. However, correct behavior depends on robust, comprehensive support for type finalization, a Fortran language feature that suffers from a buggy compiler landscape. The README.md file summarizes the status of the tested compilers. Please submit an issue on this repository if you run this repository's test suite with another compiler and can report your results or can offer use cases to add to our compiler test suite. Pull requests with compiler bug workarounds are also welcome.