wierton / flang-compiler

A compilable version of flang, just type make

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flang

Flang is a Fortran compiler targeting LLVM.

Visit the flang wiki for more information:

https://github.com/flang-compiler/flang/wiki

We have mailing lists for announcements and developers. Here's the link with the sign-up information:

http://lists.flang-compiler.org/mailman/listinfo

We have a flang-compiler channel on Slack. Slack is invitation only but anyone can join. Here's the link:

https://join.slack.com/t/flang-compiler/shared_invite/MjExOTEyMzQ3MjIxLTE0OTk4NzQyNzUtODQzZWEyMjkwYw

Building Flang

Instructions for building Flang can be found on the Flang wiki: https://github.com/flang-compiler/flang/wiki/Building-Flang

Compiler Options

For a list of compiler options, enter

% flang -help

The Flang compiler supports accepts all clang 4.0 compiler options and supports many, as well as the following flang-specific compiler options:

-noFlangLibs          Do not link against Flang libraries
-mp                   Enable OpenMP and link with with OpenMP library libomp
-nomp                 Do not link with OpenMP library libomp
-Mbackslash           Treat backslash character like a C-style escape character
-Mno-backslash        Treat backslash like any other character
-Mbyteswapio          Swap byte-order for unformatted input/output
-Mfixed               Assume fixed-format source
-Mextend              Allow source lines up to 132 characters
-Mfreeform            Assume free-format source
-Mpreprocess          Run preprocessor for Fortran files
-Mrecursive           Generate code to allow recursive subprograms
-Mstandard            Check standard conformance
-Msave                Assume all variables have SAVE attribute
-module               path to module file (-I also works)
-Mallocatable=95      Select Fortran 95 semantics for assignments to allocatable objects (Default)
-Mallocatable=03      Select Fortran 03 semantics for assignments to allocatable objects
-static-flang-libs    Link using static Flang libraries
-M[no]daz             Treat denormalized numbers as zero
-M[no]flushz          Set SSE to flush-to-zero mode
-Mcache_align         Align large objects on cache-line boundaries
-M[no]fprelaxed       This option is ignored
-fdefault-integer-8   Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8
-fdefault-real-8      Treat REAL as REAL*8
-i8                   Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8
-r8                   Treat REAL as REAL*8
-fno-fortran-main     Don't link in Fortran main

About

A compilable version of flang, just type make

License:Other


Languages

Language:C++ 45.9%Language:C 35.3%Language:Fortran 8.5%Language:Objective-C 3.9%Language:Roff 1.2%Language:Objective-C++ 1.1%Language:Makefile 1.0%Language:HTML 1.0%Language:Shell 0.7%Language:Python 0.5%Language:CMake 0.4%Language:Cuda 0.2%Language:Assembly 0.1%Language:Perl 0.1%Language:JavaScript 0.0%Language:Awk 0.0%Language:C# 0.0%Language:LLVM 0.0%Language:Emacs Lisp 0.0%Language:Batchfile 0.0%Language:Mathematica 0.0%Language:CSS 0.0%Language:Lex 0.0%Language:Cool 0.0%Language:M 0.0%Language:Dockerfile 0.0%Language:AppleScript 0.0%Language:RenderScript 0.0%Language:SWIG 0.0%Language:Rust 0.0%