LFortran − modern interactive LLVM−based Fortran compiler
lfortran OPTIONS [files...] [SUBCOMMAND]
LFortran is a modern interactive Fortran compiler based on LLVM.
|
• |
−h, −−help: Print this help message and exit | ||
|
• |
−S: Emit assembly, do not assemble or link | ||
|
• |
−c: Compile and assemble, do not link | ||
|
• |
−o TEXT: Specify the file to place the compiler’s output into | ||
|
• |
−v: Be more verbose | ||
|
• |
−E: Preprocess only; do not compile, assemble, or link | ||
|
• |
−l TEXT ...: Link library option | ||
|
• |
−L TEXT ...: Library path option | ||
|
• |
−I TEXT ...: Include path | ||
|
• |
−J TEXT: Where to save mod files | ||
|
• |
−g: Compile with debugging information | ||
|
• |
−−debug−with−line−column: Convert the linear location info into line + column in the debugging information | ||
|
• |
−D TEXT ...: Define <macro>=<value> (or 1 if <value> omitted) | ||
|
• |
−−version: Display compiler version information | ||
|
• |
−W TEXT ...: Linker flags | ||
|
• |
−f TEXT ...: All −f* flags (only −fPIC supported for now) | ||
|
• |
−−cpp: Enable C preprocessing | ||
|
• |
−−fixed−form: Use fixed form Fortran source parsing | ||
|
• |
−−fixed−form−infer: Use heuristics to infer if a file is in fixed form | ||
|
• |
−−no−prescan: Turn off prescan | ||
|
• |
−−show−prescan: Show tokens for the given file and exit | ||
|
• |
−−show−tokens: Show tokens for the given file and exit | ||
|
• |
−−show−ast: Show AST for the given file and exit | ||
|
• |
−−show−asr: Show ASR for the given file and exit | ||
|
• |
−−with−intrinsic−mods: Show intrinsic modules in ASR | ||
|
• |
−−show−ast−f90: Show Fortran from AST for the given file and exit | ||
|
• |
−−no−color: Turn off colored AST/ASR | ||
|
• |
−−no−indent: Turn off Indented print ASR/AST | ||
|
• |
−−tree: Tree structure print ASR/AST | ||
|
• |
−−json: Print ASR/AST Json format | ||
|
• |
−−clojure: Print ASR in clojure format | ||
|
• |
−−no−loc: Skip location information in ASR/AST Json format | ||
|
• |
−−visualize: Print ASR/AST Visualization | ||
|
• |
−−pass TEXT: Apply the ASR pass and show ASR (implies –show−asr) | ||
|
• |
−−skip−pass TEXT: Skip an ASR pass in the default pipeline | ||
|
• |
−−show−llvm: Show LLVM IR for the given file and exit | ||
|
• |
−−show−cpp: Show C++ translation source for the given file and exit | ||
|
• |
−−show−c: Show C translation source for the given file and exit | ||
|
• |
−−show−asm: Show assembly for the given file and exit | ||
|
• |
−−show−wat: Show WAT (WebAssembly Text Format) and exit | ||
|
• |
−−show−julia: Show Julia translation source for the given file and exit | ||
|
• |
−−show−fortran: Show Fortran translation source for the given file and exit | ||
|
• |
−−show−stacktrace: Show internal stacktrace on compiler errors | ||
|
• |
−−symtab−only: Only create symbol tables in ASR (skip executable stmt) | ||
|
• |
−−time−report: Show compilation time report | ||
|
• |
−−static: Create a static executable | ||
|
• |
−−no−warnings: Turn off all warnings | ||
|
• |
−−no−error−banner: Turn off error banner | ||
|
• |
−−error−format TEXT=human: Control how errors are produced (human, short) | ||
|
• |
−−backend TEXT=llvm: Select a backend (llvm, cpp, x86, wasm, fortran) | ||
|
• |
−−openmp: Enable OpenMP | ||
|
• |
−−separate−compilation: Generate object code into .o files | ||
|
• |
−−rtlib: Include the full runtime library in the LLVM output | ||
|
• |
−−use−loop−variable−after−loop: Allow using loop variable after the loop | ||
|
• |
−−fast: Best performance (disable strict standard compliance) | ||
|
• |
−−link−with−gcc: Calls GCC for linking instead of clang | ||
|
• |
−−target TEXT: Generate code for the given target | ||
|
• |
−−print−targets: Print the registered targets | ||
|
• |
−−implicit−typing: Allow implicit typing | ||
|
• |
−−implicit−interface: Allow implicit interface | ||
|
• |
−−implicit−argument−casting: Allow implicit argument casting | ||
|
• |
−−print−leading−space: Print leading white space if format is unspecified | ||
|
• |
−−interactive−parse: Use interactive parse | ||
|
• |
−−verbose: Print debugging statements | ||
|
• |
−−dump−all−passes: Apply all the passes and dump the ASR into a file | ||
|
• |
−−dump−all−passes−fortran: Apply all passes and dump the ASR after each pass into a Fortran file | ||
|
• |
−−cumulative: Apply all the passes cumulatively till the given pass | ||
|
• |
−−realloc−lhs: Reallocate left−hand side automatically | ||
|
• |
−−module−mangling: Mangles the module name | ||
|
• |
−−global−mangling: Mangles all the global symbols | ||
|
• |
−−intrinsic−mangling: Mangles all the intrinsic symbols | ||
|
• |
−−all−mangling: Mangles all possible symbols | ||
|
• |
−−bindc−mangling: Mangles functions with ABI bind(c) | ||
|
• |
−−apply−fortran−mangling: Mangle symbols with Fortran supported syntax | ||
|
• |
−−mangle−underscore: Mangles with underscore | ||
|
• |
−−legacy−array−sections: Enables passing array items as sections if required | ||
|
• |
−−ignore−pragma: Ignores all the pragmas | ||
|
• |
−−stack−arrays: Allocate memory for arrays on stack |
|
• |
fmt: Format Fortran source files. |
|||
|
• |
kernel: Run in Jupyter kernel mode. |
|||
|
• |
mod: Fortran mod file utilities. |
|||
|
• |
pywrap: Python wrapper generator |
For more information, visit the official LFortran documentation at https://docs.lfortran.org/.