Authors: Jérémie Vandenplas, Alexis Perry-Holby, Sebastian Ehlert, Gagandeep Singh, Milan Curcic
Welcome to the February 2022 edition of the monthly Fortran newsletter.
The newsletter comes out at the beginning of every month and details
Fortran news from the previous month.
fortran-lang.org
Here’s what’s new and ongoing in the fortran-lang.org repo:
Let us know
if you have any suggestions for the website and its content.
We welcome any new contributors to the website and the tutorials page in particular - see the
contributor guide
for how to get started.
Fortran Standard Library
Here’s what’s new in stdlib:
#276:
Probability Distribution and Statistical Functions – Exponential Distribution Module
The candidate for file system operations to be included in stdlib is being developed by
@MarDiehl and @arjenmarkus
in this repository.
Please try it out and let us know how it works, if there are any issues, or if the API can be improved.
Fortran Package Manager
Here’s what’s new in fpm:
#630:
allow backfilling of current directory in fpm-new subcommand
fpm-docs#48 (WIP):
Chinese translation improvements
fpm is still in early development and we need as much help as we can get.
Here’s how you can help today:
Use it and let us know what you think! Read the fpm packaging guide
to learn how to build your package with fpm, and the manifest reference
to learn what are all the things that you can specify in the fpm.toml file.
Browse the open issues and see if you can help implement any fixes or features.
Adapt your Fortran package for fpm and submit it to the Registry.
Improve the documentation.
The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier.
Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy
environment in which new open source Fortran projects are created and published with ease.
Compilers
Flang
Recent development updates:
FIR
Keep runtime function name in comment
Add a conversion for !fir.coordinate_of
Add a new memory allocation rewrite pass.
Correct and reenable test that was removed by MLIR.
Fix overallocation by fir-to-llvm-ir pass
OpenMP
Add some semantic checks for threadprivate and declare target directives
Simplify RaggedArrayHeader and make it plain C struct
Fix folding of ac-implied-do indices in structure constructors
Avoid code duplication in mixed expressions
Add test with shape for allocmem and freemem
Make the frontend driver error out when requesting multiple actions
Add semantics tests for co_reduce, co_min, and co_max
Use GNUInstallDirs to support custom installation dirs.
Enable support for conversion of recursive record types
Separate temporary and user-specified object files
update to reflect MLIR LLVM::GEPOp changes
Do not lose call in shape inquiry on function reference
Fix the documentation on how to build flang
Add tests for converting arrays and refs to arrays
Make the “flang” wrapper script check the Bash version
Fix handling of space between # and name in preprocessor stringification
RESHAPE(PAD=) can be arbitrary array rank
Any type can appear in a structure constructor for an unlimited polymorphic allocatable component
Implement semantics for DEC STRUCTURE/RECORD
Extension: initialization of LOGICAL with INTEGER & vice versa
Allow initialization in blank COMMON
Support extension intrinsic function variations on ABS
Allow pointers to non-sequence types in sequence types
“CFI” types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16
Legacy extension: non-character formats
Signal runtime error on WRITE after ENDFILE
Don’t blank-fill remaining lines in internal output
Accept ENTRY names in generic interfaces
Support substring references in NAMELIST input
Call notes are recorded and available upon request here. Please contact Alexis Perry-Holby at aperry@lanl.gov for document access.
We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed.
Events
fpm has a new documentation website hosted at
fpm.fortran-lang.org.
This website will provide user-oriented tutorials and how-to guides, as well
as developer-oriented reference documents and specifications.
We welcome all contributions to the fpm documentation, including translations
to other languages.
Please visit the fpm-docs repo to
get started.
We had our 22st Fortran Monthly call on January 17.
You can watch the recording below:
As usual, subscribe to the mailing list and/or
join the Discourse to stay tuned with the future meetings.
Contributors
We thank everybody who contributed to fortran-lang in the past month by
commenting in any of these repositories: