Five free C C++ Fortran compiler families

Five modern, currently-supported compiler families are free-to-use for C, C++ and Fortran.

GCC

GCC has broad support of modern standards on a very wide range of computing platforms. GCC’s downside in some cases can be slower runtime performance than compilers having less broad language and platform support.

Compilerlanguage standard
gccC17
g++C++20 with special compile flags needed for initial C++20 module support
gfortranFortran 2018

Intel

Intel compilers are free to use for any user. The Intel performance libraries like MKL, IPP, and TBB are available at no cost.

Compilerlanguage standard
iccC17
icpcC++17 with increasing C++20 support
ifortFortran 2018

LLVM

LLVM Clang and Flang have significant industry support, including from Nvidia, and are known for high performance.

Compilerlanguage standard
clangC17
clang++C++20 with special compile flags needed for initial C++20 module support
flangFortran 2018 (coming ~2021)

Nvidia

Nvidia HPC SDK is free to use. A key feature of the HPC SDK compilers is intrinsic support for CUDA Fortran.

Compilerlanguage standard
nvcC11
nvc++C++17
nvfortranFortran 2003

IBM XL

IBM XL compilers are currently for POWER CPUs only e.g. ppc64le. IBM XL compilers do not work with a typical x86-based computer. If you have a $3000 Raptor IBM POWER9 desktop, then IBM XL may be for you.

The IBM XL compilers are high-performance compilers that have a free community edition. IBM XL Fortran has wide support for Fortran 2008. However, the XL compilers have bugs in newer language support, so be sure to check with another compiler on the IBM system like GCC if a bug is suspected.

Compilerlanguage standard
xlcC11
xlc++C++14
xlfFortran 2008

IBM Fortran 2008 reference