HOWTO: Compile Fortran code with ‘gfortran’
a) Debug flags:
-O0 -Og -Wall -Wextra -fimplicit-none -Wline-truncation \
-Wcharacter-truncation -Wsurprising -Waliasing -Wimplicit-interface \
-Wunused-parameter -fwhole-file -check=all -std=f2008 -pedantic -fbacktrace
# Redundant flags
# RFLAGS=-fimplicit-none -Wline-truncation -std=f2008
# Warning flags
# WFLAGS=-Waliasing -Wampersand -Wconversion -Wsurprising -Wc-binding-type \
# -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wtarget-lifetime \
# -Wreal-q-constant -Wunused -Wextra -Wcharacter-truncation \
# -Wunused-parameter -Wimplicit-interface
b) Production flags:
-O3 -march=native -fimplicit-none -Wall -Wline-truncation -fwhole-file \
-std=f2008