Dylan Fleming 846439dd97 [Flang] Generate documentation for compiler flags
This patch aims to create a webpage to document
Flang's command line options on https://flang.llvm.org/docs/
in a similar way to Clang's
https://clang.llvm.org/docs/ClangCommandLineReference.html

This is done by using clang_tablegen to generate an .rst
file from Options.td (which is current shared with Clang)
For this to work, ClangOptionDocEmitter.cpp was updated
to allow specific Flang flags to be included,
rather than bulk excluding clang flags.

Note:
Some headings in the generated documentation will incorrectly
contain references to Clang, e.g.
"Flags controlling the behaviour of Clang during compilation"
This is because Options.td (Which is shared between both Clang and Flang)
contains hard-coded DocBrief sections. I couldn't find a non-intrusive way
to make this target-dependant, as such I've left this as is, and it will need revisiting later.

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D129864
2022-07-22 17:05:04 +00:00

77 lines
1.5 KiB
Markdown

# Welcome to Flang's documentation
Flang is LLVM's Fortran frontend that can be found
[here](https://github.com/llvm/llvm-project/tree/main/flang). It is often
referred to as "LLVM Flang" to differentiate itself from ["Classic
Flang"](https://github.com/flang-compiler/flang) - these are two separate and
independent Fortran compilers. LLVM Flang is under active development. While it
is capable of generating executables for a number of examples, some
functionality is still missing. See [GettingInvolved](GettingInvolved) for tips
on how to get in touch with us and to learn more about the current status.
```eval_rst
.. toctree::
:titlesonly:
ReleaseNotes
```
# Contributing to Flang
```eval_rst
.. toctree::
:titlesonly:
C++17
C++style
FortranForCProgrammers
GettingInvolved
ImplementingASemanticCheck
PullRequestChecklist
```
# Design Documents
```eval_rst
.. toctree::
:titlesonly:
ArrayComposition
BijectiveInternalNameUniquing
Calls
Character
ControlFlowGraph
Directives
DoConcurrent
Extensions
FIRLangRef
FlangCommandLineReference
FlangDriver
FortranIR
FortranLLVMTestSuite
IORuntimeInternals
Intrinsics
IntrinsicTypes
LabelResolution
ModFiles
OpenMP-4.5-grammar.md
OpenMP-semantics
OptionComparison
Overview
ParserCombinators
Parsing
Preprocessing
RuntimeDescriptor
RuntimeTypeInfo
Semantics
f2018-grammar.md
```
# Indices and tables
```eval_rst
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
```