This page contains information about the different compiler families available on the various Linux platforms at ECMWF and their different options. For all the details on each of the compilers, please check the relevant man pages.
Families
Family | Language | Command |
---|
GNU | C | gcc |
---|
C++ | g++ |
Fortran 77/90 | gfortran |
PGIpgccpgCCpgf77 | Fortran pgf90INTELicc | icpc | 77/90ifortCRAY | craycc (through cc) | crayCC (through CC) | 77/crayftn (through ftn)Basic flags
PGIINTELCRAYNVIDIA | Description |
---|
-c | -c | -c | -c | Compile or assemble the source files, but do not link. |
-o filename | -o filename | -o filename | -o filename | Name the output file filename. |
-On | -On | -On | -On | Set the optimisation level to n. |
Preprocessor flags
PGIINTELCRAYNVIDIA | Description |
---|
-Dname | -Dname | -Dname | -Dname | Predefine name as a macro for the preprocessor. |
-E | -E | -E | -E | Preprocessed source files including #line directives are output to stdout. |
-I dir | -I dir | -I dir | -I dir | Specifies an additional directory dir to search for include files. |
-J dir | - | -module-dir | - |
-module dir | Save/search for module files in directory dir (Fortran only). |
Precision flags
...
PGIINTELCRAYNVIDIA | Description |
---|
-fdefault-integer-8 | -i8 | -fdefault- |
i8s integer64i8 | Specifies the default size for integer variables to be 8 bytes. |
-fdefault-real-8 | -r8 | -fdefault-real- |
r8s real64r8 | Specifies the default size for real variables to be 8 bytes. |
-fdefault-double-8 | - |
r8double-size 64 | -fdefault-double- |
size 64s real64r8 | Specifies the default size for double variables to be 8 bytes. |
Debug flags
PGIINTELCRAYNVIDIA | Description |
---|
-g | -g | -g | -g | Produces symbolic debug information. |
-pg | -pg | -pg | -pg | Generate extra code to write profile information suitable for the analysis program gprof. |
-fcheck=bounds | - |
Mboundscheck R bMbounds | Add runtime array bounds checking for Fortran. |
-Wuninitialized | -check uninit | - |
check uninitWuninitialized | - | Check for uninitialized variables. |
-ffpe-trap=zero,invalid,overflow | - |
Ktrap=fp-K ffpe-trap=zero,invalid,overflow | -Ktrap=fp | Trap floating point exceptions:- divide by zero
- invalid operands
- floating point overflow
|
-fbacktrace | - |
Meh_frametracebackfbacktrace | -Meh_frame | Add debug information for runtime traceback. |
-fconvert=swap | - |
byteswapio-hbyteswapiofconvert=swap | -byteswapio | Specify the representation of data for unformatted files. |
-ffree-line-length-132 | - |
Mextendextend-source 132 | -ffree-line-length- |
N 132 | -Mextend | Allow 132 characters source line lengths (in fixed format). |