1# Flang 12.0.0 (In-Progress) Release Notes
2
3> **warning**
4>
5> These are in-progress notes for the upcoming LLVM 12.0.0 release.
6> Release notes for previous releases can be found on [the Download
7> Page](https://releases.llvm.org/download.html).
8
9## Introduction
10
11This document contains the release notes for the Flang Fortran frontend,
12part of the LLVM Compiler Infrastructure, release 12.0.0. Here we
13describe the status of Flang in some detail, including major
14improvements from the previous release and new feature work. For the
15general LLVM release notes, see [the LLVM
16documentation](https://llvm.org/docs/ReleaseNotes.html). All LLVM
17releases may be downloaded from the [LLVM releases web
18site](https://llvm.org/releases/).
19
20Note that if you are reading this file from a Git checkout, this
21document applies to the *next* release, not the current one. To see the
22release notes for a specific release, please see the [releases
23page](https://llvm.org/releases/).
24
25## Known Issues
26
27These are issues that couldn't be fixed before the release. See the bug
28reports for the latest status.
29
30 *   ...
31
32## Introducing Flang
33
34Flang is LLVM's Fortran front end and is new for the LLVM 11 release.
35
36Flang is still a work in progress for this release and is included for
37experimentation and feedback.
38
39Flang is able to parse a comprehensive subset of the Fortran language
40and check it for correctness. Flang is not yet able to generate LLVM IR
41for the source code and thus is unable to compile a running binary.
42
43Flang is able to unparse the input source code into a canonical form and
44emit it to allow testing. Flang can also invoke an external Fortran
45compiler on this canonical input.
46
47Flang's parser has comprehensive support for:
48 * Fortran 2018
49 * OpenMP 4.5
50 * OpenACC 3.0
51
52Interested users are invited to try to compile their Fortran codes with
53flang in and report any issues in parsing or semantic checking in
54[bugzilla](https://bugs.llvm.org/enter_bug.cgi?product=flang).
55
56### Major missing features
57
58 * Flang is not supported on Windows platforms.
59
60## Using Flang
61
62Usage: `flang hello.f90 -o hello.bin`
63
64By default, Flang will parse the Fortran file `hello.f90` then unparse it to a
65canonical Fortran source file. Flang will then invoke an external
66Fortran compiler to compile this source file and link it, placing the
67resulting executable in `hello.bin`.
68
69To specify the external Fortran compiler, set the `F18_FC` environment
70variable to the name of the compiler binary and ensure that it is on your
71`PATH`. The default value for `F18_FC` is `gfortran`.
72
73When invoked with no source input, Flang will wait for input on stdin.
74When invoked in this way, Flang performs the same actions as if
75called with `-fdebug-measure-parse-tree -funparse` and does not invoke
76`F18_FC`.
77
78For a full list of options that Flang supports, run `flang --help`.
79
80## Additional Information
81
82Flang's documentation is located in the `flang/docs/` directory in the
83LLVM monorepo.
84
85If you have any questions or comments about Flang, please feel free to
86contact us via the [mailing
87list](https://lists.llvm.org/mailman/listinfo/flang-dev).
88