| ======================================== |
| Flang 11.0.0 (In-Progress) Release Notes |
| ======================================== |
| |
| .. contents:: |
| :local: |
| :depth: 2 |
| |
| .. warning:: |
| |
| These are in-progress notes for the upcoming LLVM 11.0.0 release. |
| Release notes for previous releases can be found on |
| `the Download Page <https://releases.llvm.org/download.html>`_. |
| |
| Introduction |
| ============ |
| |
| This document contains the release notes for the Flang Fortran |
| frontend, part of the LLVM Compiler Infrastructure, release 11.0.0. Here we |
| describe the status of Flang in some detail, including major |
| improvements from the previous release and new feature work. For the |
| general LLVM release notes, see `the LLVM |
| documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM |
| releases may be downloaded from the `LLVM releases web |
| site <https://llvm.org/releases/>`_. |
| |
| Note that if you are reading this file from a Git checkout, this document |
| applies to the *next* release, not |
| the current one. To see the release notes for a specific release, please |
| see the `releases page <https://llvm.org/releases/>`_. |
| |
| Known Issues |
| ============ |
| |
| These are issues that couldn't be fixed before the release. See the bug reports for the latest status. |
| |
| - ... |
| |
| Introducing Flang |
| ================= |
| |
| Flang is LLVM's Fortran front end and is new for the LLVM 11 release. |
| |
| Flang is still a work in progress for this release and is included for |
| experimentation and feedback. |
| |
| Flang status |
| ------------ |
| |
| Flang is able to parse a comprehensive subset of the Fortran language |
| and check it for correctness. Flang is not yet able to generate LLVM IR for |
| the source code and thus is unable to compile a running binary. |
| |
| Flang is able to unparse the input source code into a canonical form and emit |
| it to allow testing. Flang can also invoke an external Fortran compiler on this |
| canonical input. |
| |
| Flang's parser has comprehensive support for: |
| - Fortran 2018 |
| - OpenMP 4.5 |
| - OpenACC 3.0 |
| |
| Major missing features |
| ---------------------- |
| |
| - Flang is not supported on Windows platforms. |
| |
| Using Flang |
| =========== |
| |
| Usage: ``flang hello.f90 -o hello.bin`` |
| |
| Flang will parse the Fortran file ``hello.f90`` then unparse it to a canonical |
| Fortran source file. Flang will then invoke an external Fortran compiler to |
| compile this source file and link it, placing the resulting executable |
| in ``hello.bin``. |
| |
| To specify the external Fortran compiler, set the ``F18_FC`` environment |
| variable to the name of the compiler binary and ensure it is on your ``PATH``. |
| The default value for ``F18_FC`` is ``gfortran``. |
| |
| When invoked with no source input, Flang will wait for input on standard in. |
| When invoked in this way, Flang performs the same actions as if called with |
| ``-fdebug-measure-parse-tree -funparse`` and does not invoke ``F18_FC``. |
| |
| For a full list of options that Flang supports, run ``flang --help``. |
| |
| Additional Information |
| ====================== |
| |
| Flang's documentation is located in the ``flang/docs/`` directory in |
| the LLVM monorepo. |
| |
| If you have any questions or comments about Flang, please feel free to |
| contact us via the `mailing |
| list <https://lists.llvm.org/mailman/listinfo/flang-dev>`_. |