forked from CodethinkLabs/flang
llvm-flang/flang
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
This branch is 46 commits ahead of CodethinkLabs:master.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
//===----------------------------------------------------------------------===// // Fortran Language Family Front-end //===----------------------------------------------------------------------===// flang: n. 1. A miner's two-pointed pick. Flang is a Fortran front-end. Note: - This project is not related to the project of the same name based on PGI's Fortran compiler which can be found at https://github.com/flang-compiler/flang. See #5 for details. - A fork in now under active development at https://gihub.com/llvm-fortran/fort. See #22 for details. //===----------------------------------------------------------------------===// // Compiling Flang (master branch) //===----------------------------------------------------------------------===// Download LLVM source and move to a branch with a reference known to work with Flang. > git clone https://github.com/llvm-mirror/llvm.git > cd llvm > git clone http://llvm.org/git/llvm.git Download the Flang source code within the LLVM tree, the two will be compiled together. > cd llvm/tools & git clone git://github.com/llvm-flang/flang.git Compile LLVM and Flang together. > mkdir build > cd build & cmake ../ -DCMAKE_INSTALL_PREFIX=/usr > cd build & make > cd build & make install You will also need to install the Flang standard library, which the Flang compiler links to by default. This is built outside the LLVM tree. > git clone git://github.com/llvm-flang/libflangrt.git > cd libflangrt > mkdir build > cd build & cmake ../ -DCMAKE_INSTALL_PREFIX=/usr > cd build & make > cd build & make install Testing: > cmake -DLLVM_INCLUDE_TESTS=On .. > make check-flang If built within LLVM source tree, it should pick up test settings from it and running a separate make command should not be necessary. If you want to build tests in standalone flang build, make sure to add CMake flags that would install FileCheck with LLVM: > -DLLVM_INSTALL_UTILS=On -DLLVM_INCLUDE_TESTS=On //===----------------------------------------------------------------------===// // Using flang //===----------------------------------------------------------------------===// Flang's driver will instruct the linker to link with the libflang runtime. You can get libflang at https://github.com/llvm-flang/libflangrt. Once you have libflang, you'll need to tell flang where it is - you can use the -L option (e.g. -L~/libflang). //===----------------------------------------------------------------------===// // To Do List //===----------------------------------------------------------------------===// Short term: * Fix lexing bugs - Fixed form for numerical literals (i.e. ignore whitespace) - Continuations in BOZ literals - Others * 'INCLUDE' which search for files in the directory of the current file first. * Full parsing of statements Long term: * Preprocessor support * Flang driver (?) * Parsing GNU modules * Add (or hoist) Clang style TargetInfo class template Longer term: * Fortran90/95 support * IO support.
About
Fortran Front-End
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 91.7%
- Fortran 6.8%
- CMake 1.2%
- Other 0.3%