Skip to content

Instantly share code, notes, and snippets.

@kulcsarm
Created November 6, 2023 17:38
Show Gist options
  • Save kulcsarm/3d3a9076c7375bd5c2ea067728d78fad to your computer and use it in GitHub Desktop.
Save kulcsarm/3d3a9076c7375bd5c2ea067728d78fad to your computer and use it in GitHub Desktop.
configure.log
This file has been truncated, but you can view the full file.
Executing: uname -s
stdout: Linux
=============================================================================================
Configuring PETSc to compile on your system
=============================================================================================
================================================================================
================================================================================
Starting configure run at Mon, 06 Nov 2023 18:18:09 +0100
Configure Options: --configModules=PETSc.Configure --optionsModule=config.compilerOptions --with-mpi-dir=/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/ --with-fc=0 --download-f2cblaslapack --with-parmetis-dir=arch-FreeFem --with-metis-dir=arch-FreeFem --with-superlu-dir=arch-FreeFem --with-superlu_dist-dir=arch-FreeFem --download-slepc --download-hpddm --download-htool --with-ptscotch-dir=arch-FreeFem --with-suitesparse-dir=arch-FreeFem --with-tetgen-dir=arch-FreeFem --with-fortran-bindings=no --with-scalar-type=complex --with-debugging=no --with-packages-download-dir=/home/p_mvgkm/p_mvgopt02/FreeFem/buildetc
Working directory: /project/p_mvgopt02/FreeFem/petsc
Machine platform:
uname_result(system='Linux', node='vn01', release='4.18.0-372.9.1.el8.x86_64', version='#1 SMP Fri Apr 15 22:12:19 EDT 2022', machine='x86_64')
Python version:
3.10.10 (main, Aug 4 2023, 20:19:19) [GCC 10.3.1 20210422 (Red Hat 10.3.1-1)]
================================================================================
Environmental variables
ASSEMBLER_AARCH64=/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/bin/as
PE_LIBSCI_DEFAULT_VOLATILE_PRGENV=AMD AOCC CRAY GNU INTEL NVIDIA
PE_ATP_PKGCONFIG_VARIABLES=ATP_CFLAGS_@prgenv@_@language@
LD_LIBRARY_PATH=/opt/cray/pe/gcc/12.2.0/snos/lib64:/opt/cray/pe/papi/7.0.1.1/lib64:/opt/cray/libfabric/1.15.2.0/lib64
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
CRAY_DSMML_ROOTDIR=/opt/cray/pe/dsmml/0.2.2
PE_MPICH_DEFAULT_FORTRAN_PKGCONFIG_LIBS=mpichf90
PE_FFTW_DEFAULT_TARGET_share=share
CRAY_DSMML_DIR=/opt/cray/pe/dsmml/0.2.2/dsmml
PE_DSMML_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/dsmml/0.2.2/dsmml/lib/pkgconfig
PKG_CONFIG_PATH_DEFAULT=/opt/cray/pe/papi/7.0.1.1/lib64/pkgconfig
PE_MPICH_DEFAULT_GTL_DIR_ponteVecchio=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PRGENVMODULES=PrgEnv-amd:PrgEnv-aocc:PrgEnv-cray:PrgEnv-gnu:PrgEnv-intel:PrgEnv-nvhpc:PrgEnv-nvidia:PrgEnv-pgi
PE_MPICH_GTL_DIR_amd_gfx90a=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_LIBSCI_OMP_REQUIRES=
SSH_CONNECTION=152.66.37.56 57796 193.224.9.228 22
PE_SMA_DEFAULT_DIR_PGI_DEFAULT64=64
CRAY_LD_LIBRARY_PATH=/opt/cray/pe/libsci/23.09.1.1/CRAY/12.0/x86_64/lib:/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib:/opt/cray/pe/mpich/8.1.27/gtl/lib:/opt/cray/pe/dsmml/0.2.2/dsmml/lib:/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/lib:/opt/cray/pe/cce/16.0.1/cce/x86_64/lib:/opt/cray/pe/perftools/23.09.0/lib64
PE_PAPI_DEFAULT_ACCEL_FAMILY_LIBS_nvidia=,-lcupti,-lcudart,-lcuda
PE_LIBSCI_ACC_DEFAULT_PKGCONFIG_VARIABLES=PE_LIBSCI_ACC_DEFAULT_SUFFIX_@accelerator@
PE_ENV=CRAY
LINKER_AARCH64=/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/bin/ld
PE_LIBSCI_DEFAULT_GENCOMPS_GNU_x86_64=103
CRAYPAT_LD_LIBRARY_PATH=:/opt/cray/pe/perftools/23.09.0/lib64
GCC_PREFIX=/opt/cray/pe/gcc/12.2.0
FTN_X86_64=/opt/cray/pe/cce/16.0.1/cce/x86_64
CRAY_DSMML_PREFIX=/opt/cray/pe/dsmml/0.2.2/dsmml
PE_PRODUCT_LIST=CRAY_LIBSCI:CRAYPE:CRAYPE_X86_ROME:PERFTOOLS:CRAYPAT
CRAYPAT_ROOT=/opt/cray/pe/perftools/23.09.0
MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH LD_PRELOAD
PE_PERFTOOLS_MPICH_LIBDIR=/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib
PE_MPICH_GTL_DIR_amd_gfx906=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_LIBSCI_MODULE_NAME=cray-libsci/23.09.1.1
LANG=en_US.UTF-8
PE_LIBSCI_GENCOMPILERS_CRAY_x86_64=12.0
CRAY_BINUTILS_ROOT_X86_64=/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/../
HISTCONTROL=ignoredups
PE_MPICH_GTL_DIR_amd_gfx908=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_DSMML_MODULE_NAME=cray-dsmml
PE_MPICH_GTL_LIBS_nvidia70=-lmpi_gtl_cuda
HOSTNAME=vn01
PE_FFTW_DEFAULT_TARGET_x86_spr=x86_spr
OLDPWD=/home/p_mvgkm/p_mvgopt02/FreeFem
PE_MPICH_DEFAULT_GTL_DIR_nvidia80=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_LIBSCI_GENCOMPILERS_NVIDIA_x86_64=20.7
PE_DSMML_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/dsmml/0.2.2/dsmml/dsmml/lib/pkgconfig
PE_MPICH_DEFAULT_GTL_LIBS_amd_gfx90a=-lmpi_gtl_hsa
PE_FFTW_DEFAULT_TARGET_x86_64=x86_64
GCC_X86_64=/opt/rh/gcc-toolset-10/root/usr
ASSEMBLER_X86_64=/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/as
PETSC_ARCH=arch-FreeFem-complex
FPATH=:/opt/cray/pe/modules/3.2.11.7/init/sh_funcs/no_redirect
CRAY_PERFTOOLS_VERSION=23.09.0
PE_NETCDF_HDF5PARALLEL_DEFAULT_REQUIRED_PRODUCTS=PE_HDF5_PARALLEL
ATP_CFLAGS=
COMPILERRT_PATH_X86_64=/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/lib/clang/16/lib/linux
PE_MPICH_DEFAULT_GTL_LIBS_amd_gfx908=-lmpi_gtl_hsa
PE_FFTW_DEFAULT_TARGET_x86_skylake=x86_skylake
PE_MPICH_DEFAULT_GTL_LIBS_amd_gfx906=-lmpi_gtl_hsa
APP2_STATE=23.09.0
PE_LIBSCI_ACC_DEFAULT_GENCOMPS_GNU_x86_64=103
PE_MPICH_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/mpich/8.1.27/ofi/@PRGENV@/@PE_MPICH_DEFAULT_GENCOMPS@/lib/pkgconfig:/opt/cray/pe/mpich/8.1.27/gtl/lib/pkgconfig
LINKER_X86_64=/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ld
PE_LIBSCI_FIXED_PRGENV=CRAYCLANG
PE_FFTW_DEFAULT_TARGET_broadwell=broadwell
PE_FFTW_DEFAULT_TARGET_x86_milan_x=x86_milan_x
PE_PAPI_DEFAULT_ACCEL_LIBS=
GNU_VERSION=12.2.0
PE_LIBSCI_ACC_DEFAULT_GENCOMPS_CRAYCLANG_x86_64=90
PE_SMA_DEFAULT_COMPFLAG=
PE_PKGCONFIG_PRODUCTS=PE_LIBSCI:PE_MPICH:PE_DSMML:PE_ATP
PE_MPICH_DEFAULT_GTL_DIR_nvidia70=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
CRAY_MPICH_BASEDIR=/opt/cray/pe/mpich/8.1.27/ofi
PE_MPICH_GTL_DIR_nvidia80=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
FF_DIR=/home/p_mvgkm/p_mvgopt02/FreeFem/FreeFem-sources
PE_LIBSCI_GENCOMPILERS_GNU_x86_64=10.3
S_COLORS=auto
C3_RSH=ssh -oConnectTimeout=10 -oForwardX11=no
PE_MPICH_PKGCONFIG_VARIABLES=PE_MPICH_GTL_DIR_@accelerator@:PE_MPICH_GTL_LIBS_@accelerator@
PE_MPICH_PKGCONFIG_LIBS=mpich
PE_PARALLEL_NETCDF_DEFAULT_FIXED_PRGENV=GNU CRAYCLANG INTEL AOCC NVIDIA AMD
which_declare=declare -f
PE_FFTW_DEFAULT_TARGET_x86_trento=x86_trento
PE_LEVEL=16.0
PE_NETCDF_DEFAULT_REQUIRED_PRODUCTS=PE_HDF5
PE_AOCC_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/AOCC/3.2/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/AOCC/3.2/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/AOCC/3.2/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/AOCC/3.2/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/AOCC/3.2/lib/pkgconfig
CRAY_DSMML_VER=0.2.2
MODULES_CMD=/usr/share/Modules/libexec/modulecmd.tcl
USER=p_mvgkm
PE_LIBSCI_DEFAULT_GENCOMPS_AOCC_x86_64=32
PE_MPICH_GENCOMPILERS_NVIDIA=20.7
MODULE_VERSION=3.2.11.7
PE_MPICH_DEFAULT_GTL_DIR_amd_gfx940=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
CRAY_CXX_IPA_LIBS_AARCH64=/opt/cray/pe/cce/16.0.1/cce/aarch64/lib/libcray-c++-rts.a
PE_PKG_CONFIG_PATH=/opt/cray/pe/valgrind4hpc/2.13.1/lib/pkgconfig:/opt/cray/pe/cti/2.18.1/lib/pkgconfig:/opt/cray/pe/atp/3.15.1/lib/pkgconfig
PE_CRAYCLANG_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/CRAYCLANG/16.0/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/CRAYCLANG/16.0/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/CRAYCLANG/16.0/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/CRAYCLANG/16.0/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/CRAYCLANG/16.0/lib/pkgconfig
PE_MPICH_GTL_LIBS_ponteVecchio=-lmpi_gtl_ze
TOOLMODULES=apprentice:apprentice2:atp:ccdb:cdt:chapel:cray-cti:cray-lgdb:craypat:craypkg-gen:cray-R:cray-snplauncher:ddt:gdb:gdb4hpc:iobuf:papi:perftools:perftools-lite:python:stat:totalview:xt-craypat:xt-lgdb:xt-papi:xt-totalview
PE_LIBSCI_GENCOMPILERS_INTEL_x86_64=2022.2
PE_FFTW_DEFAULT_TARGET_x86_milan=x86_milan
CRAY_CPU_TARGET=x86-rome
PE_INTEL_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/INTEL/2022.2/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/INTEL/2022.2/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/INTEL/2022.2/lib/pkgconfig:/opt/cray/pe/mpich/8.1.27/ofi/intel/2022.1/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/INTEL/2022.2/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/INTEL/2022.2/lib/pkgconfig
PE_SMA_DEFAULT_PKGCONFIG_VARIABLES=PE_SMA_COMPFLAG_@prgenv@
PE_LIBSCI_VOLATILE_PRGENV=AMD AOCC CRAY GNU INTEL NVIDIA
KSH_AUTOLOAD=1
PKGCONFIG_ENABLED=1
PE_PAPI_DEFAULT_ACCEL_LIBS_nvidia35=,-lcupti,-lcudart,-lcuda
CRAY_PERFTOOLS_PREFIX=/opt/cray/pe/perftools/23.09.0
PE_FORTRAN_PKGCONFIG_LIBS=mpichf90
CRAY_CXX_IPA_LIBS=/opt/cray/pe/cce/16.0.1/cce/x86_64/lib/libcray-c++-rts.a
GCC_VERSION=12.2.0
PE_MPICH_GENCOMPILERS_CRAY=16.0
CRAY_LIBSCI_BASE_DIR=/opt/cray/pe/libsci/23.09.1.1
PE_SMA_DEFAULT_DIR_CRAY_DEFAULT64=64
PE_NETCDF_HDF5PARALLEL_DEFAULT_FIXED_PRGENV=GNU CRAYCLANG INTEL AOCC AMD NVIDIA
PWD=/home/p_mvgkm/p_mvgopt02/FreeFem/petsc
TARGETMODULES=craype-accel-amd-gfx908:craype-accel-amd-gfx90a:craype-accel-amd-gfx940:craype-accel-host:craype-accel-intel-max:craype-accel-nvidia70:craype-accel-nvidia80:craype-arm-grace:craype-network-none:craype-network-ofi:craype-network-ucx:craype-x86-genoa:craype-x86-milan:craype-x86-milan-x:craype-x86-rome:craype-x86-spr:craype-x86-spr-hbm:craype-x86-trento
project=p_mvgopt02
PE_MPICH_GTL_DIR_ponteVecchio=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_MPICH_GTL_DIR_nvidia70=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HOME=/home/p_mvgkm
CRAYLIBS_AARCH64=/opt/cray/pe/cce/16.0.1/cce/aarch64/lib
PELOCAL_PRGENV=true
PE_FFTW_DEFAULT_TARGET_x86_rome=x86_rome
PE_MPICH_GTL_LIBS_amd_gfx940=-lmpi_gtl_hsa
PE_LIBSCI_GENCOMPS_AMD_x86_64=50
PE_LIBSCI_DEFAULT_GENCOMPILERS_AMD_x86_64=5.0
PE_MPICH_DEFAULT_GTL_LIBS_nvidia70=-lmpi_gtl_cuda
SSH_CLIENT=152.66.37.56 57796 22
CRAY_PRGENVCRAY=loaded
PE_LIBSCI_ACC_DEFAULT_GENCOMPILERS_AMD_x86_64=5.0
PE_LIBSCI_ACC_DEFAULT_GENCOMPS_AMD_x86_64=50
PE_MPICH_FORTRAN_PKGCONFIG_LIBS=mpichf90
PE_LIBSCI_PKGCONFIG_LIBS=libsci_mpi:libsci
PE_LIBSCI_ACC_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/libsci_acc/23.09.2.1/@PRGENV@/@PE_LIBSCI_ACC_DEFAULT_GENCOMPS@/@PE_LIBSCI_ACC_DEFAULT_TARGET@/lib/pkgconfig
PETSCBUILDETC_DIR=/home/p_mvgkm/p_mvgopt02/FreeFem/buildetc
PE_MPICH_GTL_LIBS_nvidia80=-lmpi_gtl_cuda
PE_LIBSCI_OMP_REQUIRES_openmp=_mp
GCC_PATH=/opt/cray/pe/gcc/12.2.0
gmsh_dir=/home/p_mvgkm/p_mvgopt02/gmsh/
MATHEMATICA_HOME=/opt/software/packages/mathematica/13.3.1
CRAYLIBS_X86_64=/opt/cray/pe/cce/16.0.1/cce/x86_64/lib
XDG_DATA_DIRS=/home/p_mvgkm/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
CRAY_BINUTILS_ROOT=/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/../
PYTHON_PATH=/opt/cray/pe/python/3.10.10
cce_already_loaded=0
PE_MPICH_MODULE_NAME=cray-mpich
NLSPATH=/opt/cray/pe/cce/16.0.1/cce/x86_64/share/nls/En/%N.cat
CRAY_LIBSCI_DIR=/opt/cray/pe/libsci/23.09.1.1
PE_LIBSCI_ACC_DEFAULT_SUFFIX_amd_gfx90a=gfx90a
PE_LIBSCI_DEFAULT_OMP_REQUIRES=
PE_LIBSCI_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/libsci/23.09.1.1/@PRGENV@/@PE_LIBSCI_GENCOMPS@/@PE_LIBSCI_TARGET@/lib/pkgconfig
PE_LIBSCI_DEFAULT_GENCOMPS_AMD_x86_64=50
PE_PKGCONFIG_DEFAULT_LIBS=mpich
PE_MPICH_GTL_DIR_amd_gfx940=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
LIBSCI_VERSION=23.09.1.1
PE_LIBSCI_ACC_DEFAULT_SUFFIX_amd_gfx908=gfx908
PERFTOOLS_VERSION=23.09.0
PE_LIBSCI_DEFAULT_OMP_REQUIRES_openmp=_mp
CRAY_BINUTILS_VERSION=/opt/cray/pe/cce/16.0.1
CRAY_CCE_CLANGSHARE=/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share
PE_PKGCONFIG_LIBS=libsci_mpi:libsci:mpich:dsmml
PE_MPICH_DEFAULT_GTL_LIBS_nvidia80=-lmpi_gtl_cuda
USERMODULES=acml:alps:apprentice:apprentice2:atp:blcr:cce:chapel:cray-ccdb:cray-fftw:cray-ga:cray-hdf5:cray-hdf5-parallel:cray-lgdb:cray-libsci:cray-libsci_acc:cray-mpich:cray-mpich2:cray-mpich-compat:cray-netcdf:cray-netcdf-hdf5parallel:cray-openshmemx:cray-parallel-netcdf:craypat:craype:cray-petsc:cray-petsc-complex:craypkg-gen:cray-R:cray-shmem:cray-snplauncher:cray-tpsl:cray-trilinos:cudatoolkit:ddt:fftw:ga:gcc:hdf5:hdf5-parallel:intel:iobuf:java:lgdb:libfast:libsci_acc:mpich1:netcdf:netcdf-hdf5parallel:netcdf-nofsync:netcdf-nofsync-hdf5parallel:ntk:nvidia:onesided:papi:parallel-netcdf:pathscale:perftools:perftools-lite:petsc:petsc-complex:pgi:pmi:PrgEnv-amd:PrgEnv-aocc:PrgEnv-cray:PrgEnv-gnu:PrgEnv-intel:PrgEnv-nvidia:PrgEnv-pathscale:PrgEnv-pgi:python:rocm-compiler:stat:totalview:tpsl:trilinos:xt-asyncpe:xt-craypat:xt-lgdb:xt-libsci:xt-mpich2:xt-mpt:xt-papi:xt-shmem:xt-totalview
PE_MPICH_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/mpich/8.1.27/ofi/@PRGENV@/@PE_MPICH_GENCOMPS@/lib/pkgconfig:/opt/cray/pe/mpich/8.1.27/gtl/lib/pkgconfig
LOADEDMODULES=craype-x86-rome:libfabric/1.15.2.0:craype-network-ofi:perftools-base/23.09.0:cce/16.0.1:craype/2.7.23:cray-dsmml/0.2.2:cray-mpich/8.1.27:cray-libsci/23.09.1.1:PrgEnv-cray/8.4.0:sbank:cray-python/3.10.10:gcc/12.2.0
PE_LIBSCI_ACC_DEFAULT_GENCOMPILERS_GNU_x86_64=10.3
PE_FFTW_DEFAULT_TARGET_x86_genoa=x86_genoa
CRAYPE_NETWORK_TARGET=ofi
INCLUDE_PATH_AARCH64=/opt/cray/pe/cce/16.0.1/cce/aarch64/include/craylibs
CRAY_PE_USE_CLANG=/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/bin/clang
GCC_AARCH64=/opt/gcc-cross-aarch64/10.3.1/aarch64
LIBRARYMODULES=acml:alps:cray-dwarf:cray-fftw:cray-ga:cray-hdf5:cray-hdf5-parallel:cray-libsci:cray-libsci_acc:cray-mpich:cray-mpich2:cray-mpich-abi:cray-netcdf:cray-netcdf-hdf5parallel:cray-parallel-netcdf:cray-petsc:cray-petsc-complex:cray-shmem:cray-tpsl:cray-trilinos:cudatoolkit:fftw:ga:hdf5:hdf5-parallel:iobuf:libfast:netcdf:netcdf-hdf5parallel:ntk:onesided:papi:petsc:petsc-complex:pmi:tpsl:trilinos:xt-libsci:xt-mpich2:xt-mpt:xt-papi
PE_FORTRAN_DEFAULT_PKGCONFIG_LIBS=mpichf90
PE_FFTW_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/fftw/3.3.10.5/@PE_FFTW_DEFAULT_TARGET@/lib/pkgconfig
SSH_TTY=/dev/pts/35
PAT_RT_PERFCTR_DISABLE_COMPONENTS=nvml,rocm_smi
PE_PAPI_DEFAULT_PKGCONFIG_VARIABLES=PE_PAPI_ACCEL_LIBS_@accelerator@ PE_PAPI_ACCEL_FAMILY_LIBS_@accelerator_family@
CRAYPAT_GCC_LIB_PATH=
PE_LIBSCI_GENCOMPS_INTEL_x86_64=20222
PE_LIBSCI_DEFAULT_GENCOMPILERS_INTEL_x86_64=2022.2
PE_CRAYCLANG_FIXED_PKGCONFIG_PATH=/opt/cray/pe/libsci/23.09.1.1/CRAY/120/x86_64/lib/pkgconfig
PETSC_VAR=/home/p_mvgkm/p_mvgopt02/FreeFem/petsc/arch-FreeFem
MAIL=/var/spool/mail/p_mvgkm
PE_HDF5_PARALLEL_DEFAULT_FIXED_PRGENV=GNU CRAYCLANG INTEL AOCC AMD NVIDIA
CRAY_CCE_SHARE=/opt/cray/pe/cce/16.0.1/cce/x86_64/share
PE_MPICH_DEFAULT_GTL_LIBS_amd_gfx940=-lmpi_gtl_hsa
PE_MPICH_VOLATILE_PRGENV=AMD AOCC CRAY CRAYCLANG GNU NVIDIA
PE_INTEL_FIXED_PKGCONFIG_PATH=/opt/cray/pe/mpich/8.1.27/ofi/intel/2022.1/lib/pkgconfig
CRAY_BINUTILS_BIN_AARCH64=/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/bin
PE_HDF5_DEFAULT_FIXED_PRGENV=GNU CRAYCLANG INTEL AOCC AMD NVIDIA
PE_FFTW_DEFAULT_TARGET_haswell=haswell
CRAY_SITE_LIST_DIR=/etc/cray-pe.d/cray-modules
TERM=xterm-256color
SHELL=/bin/bash
PE_LIBSCI_ACC_DEFAULT_REQUIRED_PRODUCTS=PE_LIBSCI
CRAY_MPICH_VER=8.1.27
PE_MPICH_GENCOMPILERS_CRAYCLANG=16.0
CRAY_BINUTILS_ROOT_AARCH64=/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../
PE_MPICH_FIXED_PRGENV=INTEL
CRAY_LIBSCI_PREFIX=/opt/cray/pe/libsci/23.09.1.1/CRAY/12.0/x86_64
PE_LIBSCI_DEFAULT_GENCOMPS_CRAY_x86_64=120
PE_LIBSCI_GENCOMPILERS_AMD_x86_64=5.0
CRAY_PYTHON_PREFIX=/opt/cray/pe/python/3.10.10
CRAY_LIBSCI_VERSION=23.09.1.1
PE_LIBSCI_GENCOMPS_NVIDIA_x86_64=207
PE_LIBSCI_DEFAULT_GENCOMPILERS_NVIDIA_x86_64=20.7
PE_LIBSCI_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/libsci/23.09.1.1/@PRGENV@/@PE_LIBSCI_DEFAULT_GENCOMPS@/@PE_LIBSCI_DEFAULT_TARGET@/lib/pkgconfig
CRAY_CXX_IPA_LIBS_X86_64=/opt/cray/pe/cce/16.0.1/cce/x86_64/lib/libcray-c++-rts.a
CRAY_BINUTILS_BIN_X86_64=/opt/cray/pe/cce/16.0.1/binutils/x86_64/bin
PE_LIBSCI_DEFAULT_PKGCONFIG_VARIABLES=PE_LIBSCI_DEFAULT_OMP_REQUIRES_@openmp@:PE_SCI_EXT_LIBPATH:PE_SCI_EXT_LIBNAME
USE_PCM_DB=2
CC_X86_64=/opt/cray/pe/cce/16.0.1/cce/x86_64
PE_SMA_DEFAULT_COMPFLAG_GNU=-fcray-pointer
CRAY_DSMML_BASEDIR=/opt/cray/pe/dsmml/0.2.2
FORTRAN_SYSTEM_MODULE_NAMES=ftn_lib_definitions
PE_SMA_DEFAULT_VOLATILE_PKGCONFIG_PATH=/opt/cray/pe/sma/11.6.1/ofi/sma@PE_SMA_DEFAULT_DIR_DEFAULT64@/lib64/pkgconfig
PE_LIBSCI_ACC_DEFAULT_VOLATILE_PRGENV=AMD CRAYCLANG GNU
PE_GNU_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/GNU/10.3/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/GNU/10.3/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/GNU/10.3/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/GNU/10.3/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/GNU/10.3/lib/pkgconfig
PE_MPICH_DEFAULT_GTL_DIR_amd_gfx906=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_LIBSCI_ACC_DEFAULT_GENCOMPILERS_CRAYCLANG_x86_64=9.0
PE_FFTW_DEFAULT_TARGET_x86_icelake=x86_icelake
PE_MPICH_DEFAULT_GTL_DIR_amd_gfx908=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
PE_MPICH_GENCOMPILERS_GNU=10.3
CRAY_PE_CCE_VARIANT=CC=Clang:FTN=Classic
PE_LIBSCI_GENCOMPS_AOCC_x86_64=32
PE_LIBSCI_DEFAULT_GENCOMPS_INTEL_x86_64=20222
PE_LIBSCI_DEFAULT_GENCOMPILERS_AOCC_x86_64=3.2
CRAY_CC_VERSION=16.0.1
SHLVL=1
LANGUAGE=en_US.UTF-8
PYTHONPATH=/opt/cray/pe/python/3.10.10
CRAY_LIBSCI_PREFIX_DIR=/opt/cray/pe/libsci/23.09.1.1/CRAY/12.0/x86_64
PE_PAPI_DEFAULT_ACCELL_FAMILY_LIBS=
PE_AMD_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/AMD/5.0/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/AMD/5.0/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/AMD/5.0/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/AMD/5.0/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/AMD/5.0/lib/pkgconfig
PE_LIBSCI_DEFAULT_GENCOMPS_NVIDIA_x86_64=207
CRAY_BINUTILS_BIN=/opt/cray/pe/cce/16.0.1/binutils/x86_64/bin
MANPATH=/opt/cray/pe/gcc/12.2.0/snos/share/man:/opt/cray/pe/python/3.10.10/share/man:/opt/software/packages/sbank/share/man:/opt/cray/pe/libsci/23.09.1.1/man:/opt/cray/pe/man/csmlversion:/opt/cray/pe/mpich/8.1.27/ofi/man:/opt/cray/pe/mpich/8.1.27/man/mpich:/opt/cray/pe/dsmml/0.2.2/dsmml/man/:/opt/cray/pe/craype/2.7.23/man:/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/man:/opt/cray/pe/cce/16.0.1/man:/opt/cray/pe/perftools/23.09.0/man:/opt/cray/pe/papi/7.0.1.1/share/pdoc/man:/opt/cray/libfabric/1.15.2.0/share/man:/opt/cray/pe/modules/3.2.11.7/share/man::/opt/c3/man:/opt/clmgr/man:/opt/sgi/share/man:/opt/clmgr/share/man:/opt/clmgr/lib/cm-cli/man:/opt/cray/pe/man
PE_MPICH_DEFAULT_GTL_DIR_amd_gfx90a=-L/opt/cray/pe/mpich/8.1.27/gtl/lib
CRAY_FTN_VERSION=16.0.1
MPICH_DIR=/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0
ATP_CFLAGS_GNU_FORTRAN=-fno-backtrace
OSCAR_HOME=/opt/oscar
PE_MPICH_DEFAULT_PKGCONFIG_VARIABLES=PE_MPICH_GTL_DIR_@accelerator@:PE_MPICH_GTL_LIBS_@accelerator@
MODULEPATH=/opt/software/modulefiles:/opt/cray/pe/perftools/23.09.0/modulefiles:/opt/cray/pe/modulefiles:/opt/cray/modulefiles:/opt/modulefiles:/etc/scl/modulefiles:/usr/share/Modules/modulefiles:/etc/modulefiles:/usr/share/modulefiles:/opt/cray/pe/craype-targets/default/modulefiles
PE_LIBSCI_GENCOMPILERS_AOCC_x86_64=3.2
CRAY_MPICH_DIR=/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0
PE_PKGCONFIG_PRODUCTS_DEFAULT=PE_PAPI
CRAY_PYTHON_VERSION=3.10.10
LOGNAME=p_mvgkm
PE_MPICH_DEFAULT_FIXED_PRGENV=INTEL
CRAY_MPICH_VERSION=8.1.27
PE_MPICH_GENCOMPILERS_AOCC=3.0
MODULE_VERSION_STACK=3.2.11.7
PE_NVIDIA_DEFAULT_FIXED_PKGCONFIG_PATH=/opt/cray/pe/parallel-netcdf/1.12.3.5/NVIDIA/20.7/lib/pkgconfig:/opt/cray/pe/netcdf-hdf5parallel/4.9.0.5/NVIDIA/20.7/lib/pkgconfig:/opt/cray/pe/netcdf/4.9.0.5/NVIDIA/20.7/lib/pkgconfig:/opt/cray/pe/hdf5-parallel/1.12.2.5/NVIDIA/20.7/lib/pkgconfig:/opt/cray/pe/hdf5/1.12.2.5/NVIDIA/20.7/lib/pkgconfig
MODULEPATH_modshare=/usr/share/Modules/modulefiles:2:/etc/modulefiles:2:/usr/share/modulefiles:2
PE_MPICH_GTL_LIBS_amd_gfx906=-lmpi_gtl_hsa
PE_DSMML_PKGCONFIG_LIBS=dsmml
PE_LIBSCI_PKGCONFIG_VARIABLES=PE_LIBSCI_OMP_REQUIRES_@openmp@:PE_SCI_EXT_LIBPATH:PE_SCI_EXT_LIBNAME
PE_MPICH_DEFAULT_VOLATILE_PRGENV=AMD AOCC CRAY CRAYCLANG GNU NVIDIA
PE_LIBSCI_GENCOMPS_CRAY_x86_64=120
PE_LIBSCI_DEFAULT_GENCOMPILERS_CRAY_x86_64=12.0
PATH=/opt/cray/pe/gcc/12.2.0/bin:/opt/cray/pe/python/3.10.10/bin:/home/p_mvgkm/.local/bin:/home/p_mvgkm/bin:/opt/software/packages/sbank/bin:/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin:/opt/cray/pe/mpich/8.1.27/bin:/opt/cray/pe/craype/2.7.23/bin:/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin:/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin:/opt/cray/pe/cce/16.0.1/utils/x86_64/bin:/opt/cray/pe/cce/16.0.1/bin:/opt/cray/pe/perftools/23.09.0/bin:/opt/cray/pe/papi/7.0.1.1/bin:/opt/cray/libfabric/1.15.2.0/bin:/opt/clmgr/sbin:/opt/clmgr/bin:/opt/sgi/sbin:/opt/sgi/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/c3/bin:/sbin:/bin:/opt/cray/pe/bin:/home/p_mvgkm/p_mvgopt02/gmsh//bin
PE_MPICH_GTL_LIBS_amd_gfx908=-lmpi_gtl_hsa
_LMFILES_=/opt/cray/pe/craype-targets/default/modulefiles/craype-x86-rome:/opt/cray/modulefiles/libfabric/1.15.2.0:/opt/cray/pe/craype-targets/default/modulefiles/craype-network-ofi:/opt/cray/pe/modulefiles/perftools-base/23.09.0:/opt/cray/pe/modulefiles/cce/16.0.1:/opt/cray/pe/modulefiles/craype/2.7.23:/opt/cray/pe/modulefiles/cray-dsmml/0.2.2:/opt/cray/pe/modulefiles/cray-mpich/8.1.27:/opt/cray/pe/modulefiles/cray-libsci/23.09.1.1:/opt/cray/pe/modulefiles/PrgEnv-cray/8.4.0:/opt/software/modulefiles/sbank:/opt/cray/pe/modulefiles/cray-python/3.10.10:/opt/cray/pe/modulefiles/gcc/12.2.0
PE_NETCDF_DEFAULT_FIXED_PRGENV=GNU CRAYCLANG INTEL AOCC AMD NVIDIA
MODULESHOME=/opt/cray/pe/modules/3.2.11.7
PKG_CONFIG_PATH=/opt/cray/pe/gcc/12.2.0/snos/lib/pkgconfig:/opt/cray/pe/craype/2.7.23/pkg-config:/opt/cray/libfabric/1.15.2.0/lib64/pkgconfig:/opt/cray/pe/atp/3.15.1/lib/pkgconfig
LIBSCI_BASE_DIR=/opt/cray/pe/libsci/23.09.1.1
INFOPATH=/opt/cray/pe/gcc/12.2.0/snos/share/info
PETSC_DIR=/home/p_mvgkm/p_mvgopt02/FreeFem/petsc
PE_MPICH_GTL_LIBS_amd_gfx90a=-lmpi_gtl_hsa
HISTSIZE=1000
CRAYPE_DIR=/opt/cray/pe/craype/2.7.23
PE_MPICH_DEFAULT_GTL_LIBS_ponteVecchio=-lmpi_gtl_ze
PE_HDF5_PARALLEL_DEFAULT_REQUIRED_PRODUCTS=PE_MPICH
OFFLOAD_INIT=on_start
PE_PKGCONFIG_DEFAULT_PRODUCTS=PE_PARALLEL_NETCDF:PE_NETCDF_HDF5PARALLEL:PE_NETCDF:PE_MPICH:PE_LIBSCI_ACC:PE_LIBSCI:PE_HDF5_PARALLEL:PE_HDF5:PE_FFTW
CRAYPE_VERSION=2.7.23
INCLUDE_PATH_X86_64=/opt/cray/pe/cce/16.0.1/cce-clang/x86_64/lib/clang/16/include:/opt/cray/pe/cce/16.0.1/cce/x86_64/include/craylibs
PE_MPICH_GENCOMPILERS_AMD=5.0
CRAY_MPICH_PREFIX=/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0
PE_MPICH_DEFAULT_PKGCONFIG_LIBS=mpich
LESSOPEN=||/usr/bin/lesspipe.sh %s
CRAYPAT_OPTS_EXECUTABLE=libexec64/opts
PE_FFTW_DEFAULT_TARGET_x86_cascadelake=x86_cascadelake
PE_LIBSCI_GENCOMPS_GNU_x86_64=103
PE_LIBSCI_DEFAULT_GENCOMPILERS_GNU_x86_64=10.3
BASH_FUNC_which%%=() { ( alias;
eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
BASH_FUNC_module%%=() { eval `/opt/cray/pe/modules/3.2.11.7/bin/modulecmd bash $*`
}
BASH_FUNC__module_raw%%=() { unset _mlshdbg;
if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then
case "$-" in
*v*x*)
set +vx;
_mlshdbg='vx'
;;
*v*)
set +v;
_mlshdbg='v'
;;
*x*)
set +x;
_mlshdbg='x'
;;
*)
_mlshdbg=''
;;
esac;
fi;
unset _mlre _mlIFS;
if [ -n "${IFS+x}" ]; then
_mlIFS=$IFS;
fi;
IFS=' ';
for _mlv in ${MODULES_RUN_QUARANTINE:-};
do
if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = "${_mlv#[0-9]}" ]; then
if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then
_mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo ${'$_mlv'}'`' ";
fi;
_mlrv="MODULES_RUNENV_${_mlv}";
_mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' ";
fi;
done;
if [ -n "${_mlre:-}" ]; then
eval `eval ${_mlre} /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash '"$@"'`;
else
eval `/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash "$@"`;
fi;
_mlstatus=$?;
if [ -n "${_mlIFS+x}" ]; then
IFS=$_mlIFS;
else
unset IFS;
fi;
unset _mlre _mlv _mlrv _mlIFS;
if [ -n "${_mlshdbg:-}" ]; then
set -$_mlshdbg;
fi;
unset _mlshdbg;
return $_mlstatus
}
BASH_FUNC_switchml%%=() { typeset swfound=1;
if [ "${MODULES_USE_COMPAT_VERSION:-0}" = '1' ]; then
typeset swname='main';
if [ -e /usr/share/Modules/libexec/modulecmd.tcl ]; then
typeset swfound=0;
unset MODULES_USE_COMPAT_VERSION;
fi;
else
typeset swname='compatibility';
if [ -e /usr/share/Modules/libexec/modulecmd-compat ]; then
typeset swfound=0;
MODULES_USE_COMPAT_VERSION=1;
export MODULES_USE_COMPAT_VERSION;
fi;
fi;
if [ $swfound -eq 0 ]; then
echo "Switching to Modules $swname version";
source /usr/share/Modules/init/bash;
else
echo "Cannot switch to Modules $swname version, command not found";
return 1;
fi
}
BASH_FUNC_scl%%=() { if [ "$1" = "load" -o "$1" = "unload" ]; then
eval "module $@";
else
/usr/bin/scl "$@";
fi
}
BASH_FUNC_ml%%=() { module ml "$@"
}
_=./configure
Files in path provided by default path
/opt/cray/pe/gcc/12.2.0/bin: cpp g++ gcc gfortran redirect
/opt/cray/pe/python/3.10.10/bin: 2to3 2to3-3.10 easy_install f2py f2py3 f2py3.10 idle3 idle3.10 pip pip3 pip3.10 pydoc3 pydoc3.10 python python3 python3-config python3.10 python3.10-config pythran pythran-config
/home/p_mvgkm/.local/bin: meson
Warning accessing /home/p_mvgkm/bin gives errors: [Errno 2] No such file or directory: '/home/p_mvgkm/bin'
/opt/software/packages/sbank/bin: sbank-user sbank-time smemory sbank-submit _sbank-common-cpu_hrs.pl sbank-deposit sbank sbank-common sdisk sbank-version sbank-cluster sbank-refund sestimate sbank-balance sbank-project _sbank-balance.pl shflags
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
/opt/cray/pe/mpich/8.1.27/bin: cray_mpiio_example_gnuplot.sh cray_mpiio_example_gnuplot_by_ranks.sh cray_mpiio_example_gnuplot_multiplot.sh cray_mpiio_example_gnuplot_summary.sh cray_mpiio_gen_data cray_mpiio_summary
/opt/cray/pe/craype/2.7.23/bin: 2.25.0.craype.ld CC cc driver ftn
/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin: ar as ld ld.bfd ld.gold nm objcopy objdump ranlib readelf strip
Warning accessing /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin gives errors: [Errno 2] No such file or directory: '/opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin'
/opt/cray/pe/cce/16.0.1/utils/x86_64/bin: assign c++filt explain fdcp ftnlx ftnmgen ftnsplit
/opt/cray/pe/cce/16.0.1/bin: crayCC craycc craycxx crayftn
/opt/cray/pe/perftools/23.09.0/bin: app2 grid_order jman pat_build pat_help pat_info pat_opts pat_report pat_run pat_view reveal
/opt/cray/pe/papi/7.0.1.1/bin: papi_avail papi_clockres papi_command_line papi_component_avail papi_cost papi_decode papi_error_codes papi_event_chooser papi_hardware_avail papi_mem_info papi_multiplex_cost papi_native_avail papi_version papi_xml_event_info
/opt/cray/libfabric/1.15.2.0/bin: fi_info fi_pingpong fi_strerror
Warning accessing /opt/clmgr/sbin gives errors: [Errno 2] No such file or directory: '/opt/clmgr/sbin'
/opt/clmgr/bin: SecondaryServerMonitoringDaemon SendUdpMessage SmallMonitoringDaemon clubak cluset clush cm cm-python3 cmu_lock cmu_restart_monitoring cmu_start_monitoring cmu_stop_monitoring config_client dshbak nodeattr nodeset pcm_console pdcp pdsh rpdcp
/opt/sgi/sbin: cattr ipmiwrapper repair-ssh-root-keys tempohbc
/opt/sgi/bin: chosts cminfo cnodes sgi-install-nvidia
/usr/share/Modules/bin: add.modules createmodule.py createmodule.sh mkroot
/usr/local/bin: normalizer lustre.sh tabulate sbalance.py sbalance common.py squota.py squota wheel pip pip3 pip3.6 __pycache__
/usr/bin: Mail apropos atq atrm awk bashbug bunzip2 bzcat bzcmp bzegrep bzfgrep bzless cancel captoinfo cc chardetect-2 csh desktop-file-edit dnf dnsdomainname domainname dsync easy_install-2 easy_install-3 ex flex++ geqn gmake gneqn gnroff gpg2 gpgv2 gpic gsoelim gtar gtbl gtroff i386 infotocap ipmicmd ipmish lastb ld.so lex linux32 linux64 lp lpq lpr lprm lpstat lz mac2unix mail mailq mailq.postfix mattrib mbadblocks mcat mcd mclasserase mcopy mdel mdeltree mdir mdu mformat minfo mlabel mmd mmount mmove mpartition mrd mren mshortname mshowfat mst mtoolstest mtype mzip nail nc newaliases newaliases.postfix nisdomainname nmtui-connect nmtui-edit nmtui-hostname fpcres open pax pip-2 pip-2.7 pip-3 pip-3.6 pip-3.9 pip2.7 pip3 pkg-config psfaddtable psfgettable psfstriptable pstree.x11 pydoc-3 pydoc2 pydoc3 python2 python3 python3.6 python3.6m pyvenv-3 reset rhn_register rmail rnano rpmquery rpmverify rvi rview rvim scsi-rescan setup-nsssysinit sg sh slingshot-diag slingshot-firmware slingshot-ifname slingshot-ifroute slingshot-snapshot slingshot-utils spfd spfquery subscription-manager sudoedit systemd-resolve systemd-umount tclsh uname26 unix2mac unversioned-python unxz view vimdiff wish x86_64 xzcat xzcmp xzegrep xzfgrep ypdomainname yum zsoelim DcgmProfTesterKernels.ptx GET HEAD POST [ ab ac addr2line alias amuFormat.sh appstream-compose appstream-util ar arch arpaname as at attr aulast aulastlog ausyscall authselect autoexpect auvirt b2sum base32 base64 basename bash bashbug-64 batch bc bg binhex.pl bison blkiomon blkparse blkrawverify blktrace bno_plot.py boltctl bond2team bootctl brotli btrace btrecord btreplay btt busctl bzdiff bzgrep bzip2 bzip2recover bzmore c++filt c89 c99 ca-legacy cairo-sphinx cal cancel.cups cat catchsegv catman cd centrino-decode chacl chage chardetect chardetect-2.7 chattr chcon checkmodule checkpolicy chfn chgrp chmem chmod chown chronyc chrt chsh chvt cifsiostat cksum clear cmcp cmnodes cmp cmsh cmtime col colcrt collectl colmux colrm column comm command config_data consolehelper coredumpctl corelist cp cpan cpan-mirrors cpio cpp cpupower crc32 cronnext crontab csplit csslint-0.6 curl cut cvtsudoers cxi_atomic_bw cxi_atomic_lat cxi_gpu_loopback_bw cxi_heatsink_check cxi_read_bw cxi_read_lat cxi_rh cxi_send_bw cxi_send_lat cxi_service cxi_stat cxi_write_bw cxi_write_lat dapltest date db_archive db_checkpoint db_deadlock db_dump db_dump185 db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate db_stat db_tuner db_upgrade db_verify dbus-binding-tool dbus-cleanup-sockets dbus-daemon dbus-monitor dbus-run-session dbus-send dbus-test-tool dbus-update-activation-environment dbus-uuidgen dc dcgmi dcgmproftester10 dcgmproftester11 dd deallocvt debinhex.pl debuginfod-find delv desktop-file-install desktop-file-validate df dialog diff diff3 dig dimax_init dir dircolors dirmngr dirmngr-client dirname dislocate dmesg dnf-3 dnstap-read dos2unix doveadm doveconf dovecot-sysreport dracut dtest dtestcm dtestsrq dtestx dtrace du dwp dump2psl.pl dump2slvl.pl dumpkeys dwz easy_install-2.7 easy_install-3.6 easy_install-3.9 echo ed egrep eject elfedit enc2xs encguess env envsubst eqn evmctl expand expect expr factor fallocate false fc fc-cache fc-cache-64 fc-cat fc-conflist fc-list fc-match fc-pattern fc-query fc-scan fc-validate fg fgconsole fgrep file fincore find findmnt fio fio-btrace2fio fio-dedupe fio-genzipf fio-verify-state fio2gnuplot fio_generate_plots fio_jsonplus_clat2csv fiologparser.py fiologparser_hist.py fips-finish-install fips-mode-setup fipscheck fipshmac flex flint flint_ext flock fmt fold formail fprintd-delete fprintd-enroll fprintd-list fprintd-verify free fribidi ftp-rfc funzip fuse-overlayfs fusermount3 fwtrace g13 gapplication gawk gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool gdbm_dump gdbm_load gdbmtool gdbus gdk-pixbuf-query-loaders-64 gdk-pixbuf-thumbnailer gencat genfio genl-ctrl-list getconf getent getfacl getfattr getkeycodes getopt getopts gettext gettext.sh gio gio-querymodules-64 glib-compile-schemas gmetric gpasswd gpg gpg-agent gpg-connect-agent gpg-error gpg-wks-server gpg-zip gpgconf gpgme-json gpgparsemail gpgsm gpgsplit gpgv gpio-event-mon gpio-hammer gprof gr2fonttest grep groff grops grotty groups grub2-editenv grub2-file grub2-fstest grub2-glue-efi grub2-kbdcomp grub2-menulst2cfg grub2-mkfont grub2-mkimage grub2-mklayout grub2-mknetdir grub2-mkpasswd-pbkdf2 grub2-mkrelpath grub2-mkrescue grub2-mkstandalone grub2-render-label grub2-script-check grub2-syslinux2cfg gsettings gstat gtk-query-immodules-2.0-64 gtk-update-icon-cache gunzip gzexe gzip h2ph h2xs hash hca_self_test.ofed head hexdump host hostid hostname hostnamectl htdbm htdigest htpasswd httxt2dbm i2c ib_acme fp.ans fp.rsj fpcjres fpclasschart fpclasschart.rsj fpcmake fpcmkcfg fpcmkcfg.rsj ibcongest ibdiagm.sh ibdiagnet ibdiagnet_csv2xml.py ibdiagpath ibdmchk ibdmtr ibdump ibgenperm ibnetsplit ibnlparse ibsim ibsim-run ibtopodiff ibv_asyncwatch ibv_devices ibv_devinfo ibv_rc_pingpong ibv_srq_pingpong ibv_uc_pingpong ibv_ud_pingpong ibv_xsrq_pingpong iconv id idiag-socket-details iio_event_monitor iio_generic_buffer info infocmp install instmodsh intel-speed-select io_demo ionice iostat ipcalc ipcmk ipcrm ipcs ipmi_ui ipmitool isosize itrace jimsh jobs join journalbeat journalctl json_pp json_reformat json_verify json_xs kbd_mode kbdinfo kbdrate kbxutil kdumpctl kernel-install keyctl kibitz kill killall kmod kvm_stat last lastcomm lastlog lchfn lchsh ld.bfd ld.gold ldd less lessecho lesskey lesspipe.sh lexgrog lfs lfs_migrate libnetcfg link linux-boot-prober llobdstat llstat ln loadkeys loadunimap locale localectl localedef locate lockfile logger login loginctl logname logresolve look lp.cups lpoptions lpq.cups lpr.cups lprm.cups lpstat.cups lpunlock ls lsattr lsb_release lsblk lscpu lsgpio lsiio lsinitrd lsipc lslocks lslogins lsmcli lsmd lsmem lsns lsof lsscsi lsusb lsusb.py lwp-download lwp-dump lwp-mirror lwp-request m4 mailstat mailx make make-dummy-cert makedb man mandb manpath mapscrn mcheck mckey mcomp mcookie mcra md5sum mdevices_info mdig memstrack mesg mft_uninstall.sh mget_temp mget_temp_ext minit mkdir mkfifo mkinitrd mkmanifest mknod mkpasswd mktemp mlnx_conf_mgr.sh mlnx_dump_parser mlnx_interface_mgr.sh mlnx_perf mlnx_qos mlx_fs_dump mlxburn mlxcables mlxcables_ext mlxconfig mlxdump mlxdump_ext mlxfwmanager mlxfwreset mlxfwstress mlxfwstress_ext mlxgearbox mlxi2c mlxlink mlxlink_ext mlxmcg mlxmdio mlxpci mlxphyburn mlxprivhost mlxreg mlxreg_ext mlxtrace mlxtrace_ext mlxuptime mlxvpd mmdblookup modulemd-validator modulemd-validator-v1 more mount mountpoint mpstat mremote msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq mst_cable mst_ib_add mstarchive mstconfig mstcongestion mstdump mstflint mstfwmanager mstfwreset mstfwtrace mstmcra mstmread mstmtserver mstmwrite mstop mstprivhost mstregdump mstresourcedump mstresourceparse mstvpd mtools mtserver munge mv mxtar named-rrchecker namei nano ncat ndptool neqn netstat newgidmap newgrp newuidmap nf-ct-add nf-ct-events nf-ct-list nf-exp-add nf-exp-delete nf-exp-list nf-log nf-monitor nf-queue ngettext nice nl nl-addr-add nl-addr-delete nl-addr-list nl-class-add nl-class-delete nl-class-list nl-classid-lookup nl-cls-add nl-cls-delete nl-cls-list nl-fib-lookup nl-link-enslave nl-link-ifindex2name nl-link-list nl-link-name2ifindex nl-link-release nl-link-set nl-link-stats nl-list-caches nl-list-sockets nl-monitor nl-neigh-add nl-neigh-delete nl-neigh-list nl-neightbl-list nl-pktloc-lookup nl-qdisc-add nl-qdisc-delete nl-qdisc-list nl-route-add nl-route-delete nl-route-get nl-route-list nl-rule-list nl-tctree-list nl-util-addr nm nm-online nmcli nmtui nohup nproc nroff nsenter nslookup nsupdate numfmt nv-fabricmanager nv-hostengine xfce4-popup-windowmenu xfwm4-tweaks-settings xfwm4-workspace-settings fd2pascal runcon nvidia-container-runtime-hook gkbd-keyboard-display xfce4-popup-applicationsmenu exo-desktop-item-edit xfce4-popup-directorymenu nvswitch-audit objcopy objdump od oddjob_request ofed_info ofed_rpm_info openipmi_eventd openipmicmd openipmish openssl openvt os-prober os_release p11-kit page_owner_sort pango-list pango-view passmass passwd paste patch pathchk pchrt pckt_drop peekfd perl5.26.3 perldoc perlivp perl perlthanks pflags pgrep perlbug pic piconv pidof pidstat pinentry pinentry-curses pinfo ping pinky pip2 pip3.6 pip3.9 pkaction pkcheck pkcon pkexec pkgconf pkill pkla-admin-identities pkla-check-authorization pkmon pkttyagent pl2pm pldd plot-llstat plymouth pmap pod2html pod2man pod2text pod2usage podchecker podselect post-grohtml powernow-k8-decode pr pre-grohtml preconv printenv printf prlimit procmail prove prtstat ps psfxtable pslog pstree ptar ptardiff ptargrep ptaskset ptty_try ptx pwd pwdx pwmake pwscore pydoc2.7 pydoc3.6 pydoc3.9 pyinotify python2.7 python3.9 pyvenv-3.6 qemu-ga quota quotasync ranlib raw jscal-restore disable-paste display-coords cvsup.tdf rcopy rct rdma_client rdma_server rdma_xclient rdma_xserver read readelf readlink realpath recode-sr-latin red redhat_lsb_init relnotes remunge rename renew-dummy-cert renice rescan-scsi-bus.sh resizecons resolvectl resourcedump resourceparse rev rftp rhsm-debug rhsmcertd riostream rlogin-cwd rm rmail.postfix rmcp_ping rmdir rngtest rpcbind rpcinfo rping rpm rpm2archive rpm2cpio rpmdb rpmkeys rstream rsync rsyslog-recover-qi.pl run-parts display-buttons compileserver data2inc sa-awl sa-check_spamd sa-learn sa-update sacct sacctmgr sadf salloc sar sattach sbatch sbcast scancel scontrol scp script scriptreplay scrontab scsi_logging_level scsi_mandat scsi_readcap scsi_ready scsi_satl scsi_start scsi_stop scsi_temperature sdiag sdiff secon secret-tool sed sedismod sedispol semodule_expand semodule_link semodule_package semodule_unpackage seq setarch setfacl setfattr setfont setkeycodes setleds setmetamode setpriv setsid setterm setup-nsssysinit.sh setvtrgb sftp sg_bg_ctl sg_compare_and_write sg_copy_results sg_dd sg_decode_sense sg_emc_trespass sg_format sg_get_config sg_get_lba_status sg_ident sg_inq sg_logs sg_luns sg_map sg_map26 sg_modes sg_opcodes sg_persist sg_prevent sg_raw sg_rbuf sg_rdac sg_read sg_read_attr sg_read_block_limits sg_read_buffer sg_read_long sg_readcap sg_reassign sg_referrals sg_rep_zones sg_requests sg_reset sg_reset_wp sg_rmsn sg_rtpg sg_safte sg_sanitize sg_sat_identify sg_sat_phy_event sg_sat_read_gplog sg_sat_set_features sg_scan sg_seek sg_senddiag sg_ses sg_ses_microcode sg_start sg_stpg sg_stream_ctl sg_sync sg_test_rwbuf sg_timestamp sg_turs sg_unmap sg_verify sg_vpd sg_wr_mode sg_write_buffer sg_write_long sg_write_same sg_write_verify sg_write_x sg_xcopy sg_zone sgather sgi_config_changed sginfo sgm_dd sgp_dd sha1sum sha224sum sha256sum sha384sum sha512hmac sha512sum sha384hmac sha256hmac sha224hmac sha1hmac shasum showconsolefont showkey shred shuf sim_lsmplugin simc_lsmplugin sinfo size skill slabinfo slabtop sldd-ib0.sh sldd-ib1.sh sleep slirp4netns snice soelim solterm sort sotruss spamassassin spamc spamd spax spfd.perl-Mail-SPF spfquery.perl-Mail-SPF splain split sprio sprof sqlite3 squeue sreport srun sscg ssh ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sshare sstat stat stdbuf stedump strace strace-log-merge strigger strings strip stty su sudo sudoreplay sum sview symlinks sync systemconfigurator systemctl systemd-analyze systemd-ask-password systemd-cat systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-escape systemd-firstboot systemd-hwdb systemd-inhibit systemd-machine-id-setup systemd-mount systemd-notify systemd-path systemd-run systemd-socket-activate systemd-stdio-bridge systemd-sysusers systemd-tmpfiles systemd-tty-ask-password-agent tabs tac tail tapestat tar taskset tbl tc_wrap.py tclsh8.6 tcsh teamd teamdctl teamnl tee test tgz tic time timed-read timed-run timedatectl timeout tload tmon toe top touch tput tr tracepath tree troff true truncate trust tset tsort tty turbostat type tzselect ucmatose ucx_info ucx_perftest ucx_read_profile udaddy udevadm udpong ul ulimit umask umount unalias uname unbuffer unexpand unicode_start unicode_stop uniq unix2dos unlink unmunge unpigz unshare pigz unzipsfx update-ca-trust update-crypto-policies update-desktop-database update-gtk-immodules update-mime-database updatedb uptime usb-devices usbhid-dump users usleep utmpdump uuidgen uuidparse uz vdir vdo vdo-by-dev vdodmeventd vdodumpconfig vdoforcerebuild vdoformat vdosetuuid vdostats verify_blkparse vi vim vimtutor vlock vmstat vpi_tcpdump w wait wall watch watchgnupg wc wdctl weather wget whatis whereis which whiptail who whoami wish8.6 wqdump wqdump_ext write x2gocmdexitmessage x86_64-redhat-linux-g++ x86_64-redhat-linux-gcc-8 x86_64-redhat-linux-c++ g++ c++ x86_64-redhat-linux-gnu-pkg-config x86_energy_perf_policy x86_64-redhat-linux-gcc gcc xargs xdg-desktop-icon xdg-desktop-menu xdg-email xdg-icon-resource xdg-mime xdg-open xdg-screensaver xdg-settings xgettext xkibitz xmlcatalog xmllint xmlwf xsubpp xxd xz xzdec xzdiff xzgrep xzless xzmore yes yum-repoquery yum-repoquery3 yume yume-opkg zcat zcmp zdiff zegrep zfgrep zforce zgrep zip zipcloak zipdetails zipgrep zipinfo zipnote unzip zipsplit zless zmore znew xwud crb xhost dbilogstrip xinput dbiprof xkill bdftopcf xmodmap fonttosfnt xrandr mkfontdir xrdb mkfontscale xrefresh ucs2any xprop pwgen xorg-x11-fonts-update-dirs xset xauth x2gobasepath git sessreg git-receive-pack xsetpointer git-shell iceauth git-upload-archive gsettings-data-convert git-upload-pack xsetroot setxkbmap xstdcmap xkbcomp startx nxagent xinit x2goagent luit audit2allow oclock audit2why x11perf chcat x11perfcomp sandbox xvinfo x2gofeature sss_ssh_authorizedkeys xwininfo cldrparser sss_ssh_knownhostsproxy xbiff fusermount showrgb ulockmgr_server xclipboard sshfs xclock envml modulecmd cvsco.tdf scl xconsole scl_enabled xcursorgen scl_source xcutsel compile_et xgamma pcre2-config xdpr gss-client xeyes krb5-config xfd sim_client xfontsel uuclient xload edid-decode xlogo xdpyinfo cvsdiff.tdf xev xmag xlsatoms xmessage xlsclients xpr xlsfonts xvidtune mcpp xwd x2gofeaturelist cg_diff x2gogetapps stap-merge x2gogetservers zstdmt x2golistdesktops stap-report x2golistmounts stapbpf x2golistsessions paperconf jscal x2golistshadowsessions stapdyn x2gomountdirs cg_merge x2gopath staprun x2goresume-session stapsh x2goruncommand gdb-add-index x2goserver-run-extensions lua jscal-store x2gosessionlimit luac jstest x2gosetkeyboard certutil x2gostartagent cmsutil x2gosuspend-session pzstd get-versions x2goterminate-session crlutil x2goumount-session ms_print x2goversion valgrind tmux valgrind-di-server autoconf valgrind-listener autoheader vgdb autom4te checksctp autoreconf sctp_darn autoscan sctp_status autoupdate sctp_test ifnames withsctp aclocal modutil aclocal-1.16 xsltproc automake nss-policy-check automake-1.16 pk12util eu-addr2line mokutil eu-ar signver eu-elfclassify stap eu-elfcmp ssltap eu-elfcompress stap-prep eu-elflint callgrind_annotate eu-findtextrel unzstd gpm-root eu-make-debug-archive gettextize eu-nm autopoint eu-objdump xfdesktop-settings eu-ranlib install-catalog eu-readelf sgmlwhich eu-size xfce4-session-logout eu-stack xfce4-session eu-strings fixqt4headers.pl eu-strip qdbuscpp2xml-qt5 eu-unstrip qdbusxml2cpp-qt5 guild tracegen guile uic-qt5 guile-tools evdev-joystick guile2 callgrind_control guile2-tools hltest idn ffcfstress ctags cg_annotate check-regexp ffmvforce cpp2html ffset java2html ld mouse-test source-highlight zstd fftest source-highlight-esc.sh zstdcat bin2obj source-highlight-settings zstdgrep chmcmd src-hilite-lesspipe.sh inputattach zstdless chmls fixcvsdiff qmake-qt5.sh stap-profile-annotate rediff acyclic splitdiff bcomps unwrapdiff ccomps byacc circo yacc cluster diffstat diffimg bindfs dijkstra moc-qt5 dot gnuplot-qt dot2gxl ccmake dotty ccmake3 edgepaint qlalr fdp qmake-qt5 gc cmake gml2gv cmake3 graphml2gv cpack gv2gml cpack3 gv2gxl ctest gvcolor ctest3 gvgen mc gvmap htop gvmap.sh mcdiff gvpack mcedit gvpr mcview gxl2dot ncdu gxl2gv jq lefty telnet lneato phar mm2gv php neato qvkgen nop phar.phar osage php-cgi patchwork phpize prune nagiostats sccmap screen sfdp cifsdd tred dbwrap_tool twopi dumpmscat unflatten mdsearch vimdot rcc-qt5 a2x mvxattr a2x.py nmblookup asciidoc regpatch asciidoc.py flipdiff intltool-extract grepdiff intltool-merge interdiff intltool-prepare lsdiff intltool-update oLschema2ldif intltoolize regdiff gendiff regshell rpmbuild regtree rpmspec rpcclient gcore syncqt.pl gdb smbcacls gstack samba-regedit pstack sharesec authvar smbclient efikeygen smbcquotas efisiglist smbget pesigcheck smbprint pesign recountdiff pesign-client smbspool libtool smbtar libtoolize smbtree rpmsign sensors ltrace wnck-urgency-monitor combinediff monitor-sensor dehtmldiff gconf-merge-tree editdiff xfwm4-settings espdiff thunar-settings filterdiff gnuplot gatttool xdriinfo sensors-conf-convert mpris-proxy encode_keychange pulseaudio snmpbulkget l2test snmpbulkwalk dvcont snmpdelta mkrfc2734 snmpdf panelctl snmpget upower snmpgetnext gnome-keyring snmpinform gnome-keyring-3 snmpnetstat ibus snmpping ibus-setup snmpps ibus-daemon snmpset hunspell snmpstatus zenity snmptable nm-connection-editor snmptest Xwayland snmptls flatpak snmptop rctest snmptranslate flatpak-coredumpctl snmptrap flatpak-bisect snmpusm wvgain snmpvacm wavpack snmpwalk hciattach mousepad libwacom-list-local-devices wvtag dconf wvunpack libinput gconftool-2 X aspell Xorg exo-open cvt xfce4-panel gtf ispell broadwayd precat gtk-launch hciconfig Thunar gtk-query-immodules-3.0-64 rfcomm nvidia-persistenced hcidump thunar nvidia-cuda-mps-control hcitool xfwm4 nvidia-cuda-mps-server sdptool nvidia-debugdump plistutil nvidia-powerd preunzip nvidia-smi hex2hcd xfdesktop nvidia-bug-report.sh dumpiso nvidia-sleep.sh sendiso nvidia-modprobe testlibraw nvidia-settings bwrap nvidia-xconfig prezip curl-config prezip-bin notify-send soundstretch resize run-with-aspell koi8rxterm spell uxterm word-list-compress xterm sbcdec gst-inspect-1.0 sbcenc gst-launch-1.0 sbcinfo gst-stats-1.0 pipewire gst-typefind-1.0 enchant-2 aserver enchant-lsmod-2 gcr-viewer gjs-console dbus-launch pipewire-media-session xfconf-query gnome-keyring-daemon orc-bugreport gjs bluemoon pa-info bluetoothctl glxgears btattach glxinfo btmon glxinfo64 ciptool scp-dbus-service l2ping startxfce4 xfce4-session-settings uuid mev xflock4 ksh93 delp gnome-session xfce4-terminal memhog gnome-session-custom-session lynx uuid-config gnome-session-inhibit rksh migratepages gnome-session-quit scalar migspeed gnome-session-selector shcomp fp redhat-kiosk uuid-config.x86_64 cd-convert evince-previewer WebKitWebDriver evince fpc pinentry-gtk evince-thumbnailer pinentry-gtk-2 curve_keygen grilo-test-ui-0.3 scmp_sys_resolver grl-inspect-0.3 gdbus-codegen grl-launch-0.3 pcre-config canberra-boot glib-gettextize canberra-gtk-play glib-compile-resources bluetooth-sendto udisksctl pavucontrol enchant mutter glib-genmarshal cd-create-profile glib-mkenums cd-fix-profile enchant-lsmod cd-iccdump cd-paranoia cd-it8 highlight colormgr alt-java numactl gnome-control-center gobject-query gdmflexiserver evolution gnome-shell jjs metricbeat gnome-shell-extension-prefs keytool numademo gnome-shell-extension-tool orbd pydoc3.11 gnome-shell-perf-tool gresource cd-read numastat pack200 cd-info iso-info rmid python3.11 mmc-tool google-chrome-stable cd-drive cdda-player gensquashfs gtester thunar-volman rmiregistry runc thunar-volman-settings gtester-report xfce4-power-manager java nvidia-container-cli xfce4-power-manager-settings nvidia-container-runtime xfce4-appfinder pip-3.11 xfrun4 fpart pip3.11 xfce4-accessibility-settings servertool rdsquashfs xfce4-appearance-settings tnameserv sqfs2tar xfce4-color-settings policytool sqfsdiff xfce4-display-settings nvidia-ctk xfce4-find-cursor unpack200 tar2sqfs xfce4-keyboard-settings nvidia-container-toolkit xfce4-mime-helper iso-read xfce4-mime-settings ksh pmount xfce4-mouse-settings sasl2-sample-client xfce4-settings-editor sasl2-sample-server xfce4-settings-manager pumount xfsettingsd google-chrome fpsync wolframscript fpcsubst fpcsubst.rsj fpdoc fppkg fprcp gplprog.pt gplunit.pt grab_vcsa grep.tdf h2pas h2paspp instantfpc json2pas makeskel makeskel.rsj mka64ins mkarmins mkinsadd mkx86ins pas2fpm pas2jni pas2js pas2ut pas2ut.rsj plex postw32 ppcx64 ppdep ppudump ppufiles ppumove program.pt ptop ptop.rsj pyacc rmcvsdir rstconv rstconv.rsj tpgrep.tdf unihelper unit.pt unitdiff unitdiff.rsj webidl2pas seff sjobexitmod sjstat smail
/usr/local/sbin: sep5-load.sh
/usr/sbin: adduser authconfig cache_check cache_dump cache_metadata_size cache_repair cache_restore cache_writeback clock ctstat depmod dmstats dosfsck dosfslabel ebtables ebtables-restore ebtables-save era_check era_dump era_invalidate era_restore fsck.msdos fsck.vfat genhomedircon grub2-setpassword halt ifdown ifup init insmod ip6tables ip6tables-restore ip6tables-restore-translate ip6tables-save ip6tables-translate ipmi-console ipmi-detect ipmi-ping ipmi-power iptables iptables-restore iptables-restore-translate iptables-save iptables-translate lpc lsmod lvchange lvconvert lvcreate lvdisplay lvextend lvmconfig lvmdevices lvmdiskscan lvmsadc lvmsar lvreduce lvremove lvrename lvresize lvs lvscan mkdict mkdosfs mkfs.msdos mkfs.vfat modinfo modprobe mount.nfs4 named-compilezone netgather packer pef-config pidof ping ping6 poweroff pvchange pvck pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan quotaoff reboot resolvconf restorecon rhn-channel rhn-profile-sync rhn_check rhn_register rhnreg_ks rmcp-ping rmmod rpcbind rpcinfo rtstat runlevel sendmail shutdown slingshot-network-cfg-lldp spacewalk-channel telinit thin_check thin_delta thin_dump thin_ls thin_metadata_size thin_repair thin_restore thin_rmap thin_trim tracepath tracepath6 tsig-keygen udevadm umount.nfs umount.nfs4 update-alternatives vgcfgbackup vgcfgrestore vgchange vgck vgconvert vgcreate vgdisplay vgexport vgextend vgimport vgimportclone vgimportdevices vgmerge vgmknodes vgreduce vgremove vgrename vgs vgscan vgsplit vigr xtables-monitor NetworkManager accessdb accton adcli addgnupghome addpart agetty alternatives anacron apachectl applygnupgdefaults arp arpd arping atd atrun auditctl auditd augenrules aureport ausearch autrace avcstat badblocks biosdecode biosdevname blkdeactivate blkdiscard blkid blkmapd blkzone blockdev bmc-config bmc-device bmc-info bpftool bridge capsh cfdisk chcpu check_lft_balance.pl chgpasswd chkconfig chpasswd chronyd chroot clockdiff cma_roce_mode cma_roce_tos cmimage common_irq_affinity.sh compat_gid_gen consoletype convertquota cracklib-check cracklib-format cracklib-packer cracklib-unpacker create-cracklib-dict create-munge-key criu crond cryptsetup ctrlaltdel dcb dcbtool ddns-confgen debugfs delpart devlink dhclient dhclient-script dmeventd dmfilemapd dmidecode dmsetup dnssec-checkds dnssec-coverage dnssec-dsfromkey dnssec-importkey dnssec-keyfromlabel dnssec-keygen dnssec-keymgr dnssec-revoke dnssec-settime dnssec-signzone dnssec-verify dovecot dump-acct dump-utmp dump_fts dump_lfts.sh dump_mfts.sh e2freefrag e2image e2mmpstatus e2undo dumpe2fs e4crypt e4defrag edquota efibootdump efibootmgr ether-wake ethtool exportfs faillock fatlabel fcgistarter fdformat fdisk filefrag findfs fix-info-dir fixfiles fping fsadm fsck fsck.cramfs fsck.ext4 fsck.fat fsck.ext3 fsck.ext2 e2fsck fsck.minix fsck.xfs fsfreeze fstrim fuse2fs fuser g13-syshelp genhostid genl genrandom getcap getenforce getpcaps getsebool gmond groupadd groupdel groupmems groupmod grpck grpconv grpunconv grub2-bios-setup grub2-get-kernel-settings grub2-install grub2-macbless grub2-mkconfig grub2-ofpathname grub2-probe grub2-reboot grub2-rpm-sort grub2-set-bootflag grub2-set-default grub2-set-password grub2-sparc64-setup grub2-switch-to-blscfg grubby gssproxy hardlink hdparm htcacheclean httpd hwclock ib2ib_setup ibacm ibaddr ibcacheedit ibccconfig ibccquery ibdev2netdev ibfindnodesusing.pl ibhosts ibidsverify.pl iblinkinfo ibnetdiscover ibnodes ibping ibportstate ibqueryerrors ibroute ibrouters ibstat ibstatus ibswitches ibsysstat ibtracert iconvconfig ifcfg ifconfig ifenslave ifstat install-info installkernel ip ipmaddr ipmi-chassis ipmi-chassis-config ipmi-config ipmi-dcmi ipmi-fru ipmi-locate ipmi-oem ipmi-pef-config ipmi-pet ipmi-raw ipmi-sel ipmi-sensors ipmi-sensors-config ipmiconsole ipmidetect ipmimonitoring ipmiping ipmipower iprconfig iprdbg iprdump iprinit iprsos iprupdate ipset iptables-apply iptstate iptunnel irqbalance isc-hmac-fixup iscsi-iname iscsiadm iscsid iscsistart iscsiuio kexec key.dns_resolver ko2iblnd-probe kpartx kpatch ksocklnd-config l_adsidentity l_foreign_symlink l_getidentity l_getidentity_nss lchage lctl ldattach ldconfig ldev ldlm_debug_upcall ledctl ledmon lgroupadd lgroupdel lgroupmod lhsmtool_posix lid ll_decode_linkea lldpad lldptool llsom_sync llverfs lnetctl lnewusers lnstat load_policy logrotate logsave losetup lpasswd lpc.cups lshw lspci lst luseradd luserdel lusermod lustre_rmmod lustre_routes_config lustre_routes_conversion lustre_rsync lustre_tune_prealloc lvm lvm_import_vdo lvmdump lvmpolld makedumpfile matchpathcon mcelog mdadm mdmon mii-diag mii-tool mkdumprd mkfadumprd mkfs mkfs.cramfs mkfs.ext4 mkfs.fat mkfs.ext3 mkfs.ext2 mke2fs mkfs.minix mkfs.xfs mkhomedir_helper mklost+found mksquashfs mkswap mlnx-sf mlnx_affinity mlnx_bf_configure mlnx_bf_configure_ct mlnx_tune mount.fuse3 mount.lustre mount.nfs mountstats msr-cpuid mtr mtr-packet munged named named-checkconf lwresd named-checkzone named-journalprint nameif newusers nfsconf nfsconvert nfsdcld nfsdclddb nfsdclnts nfsdcltrack nfsidmap nfsiostat nfsref nfsstat nft nodetrace nologin nscd nsec3hash nstat nvme oddjobd odp_stat.sh ofed_uninstall.sh opensm osmtest ownership pam_console_apply pam_timestamp_check parted partprobe partx pdata_tools perfquery pethtool pifconfig pivot_root plipconfig pluginviewer plymouth-set-default-theme plymouthd postalias postcat postconf postdrop postfix postkick postlock postlog postmap postmulti postqueue postsuper posttls-finger pwck pwconv pwhistory_helper pwunconv quot quotacheck quotaon quotastats raid-check rdisc rdma rdma-ndd rdmsr readprofile realm redhat_lsb_trigger.x86_64 repquota request-key resize2fs resizepart restorecon_xattr rfkill rhn-profile-sync-3.6 rhn_check-3.6 rhn_register-3.6 rhnreg_ks-3.6 rhnsd rmcpping rndc rndc-confgen rngd rotatelogs route routef routel routerstat rpc.gssd rpc.idmapd rpc.mountd rpc.nfsd rpc.statd rpcdebug rsyslogd rtacct rtcwake rtmon rtpr runuser sa saquery saslauthd sasldblistusers2 saslpasswd2 sefcontext_compile selabel_digest selabel_lookup selabel_lookup_best_match selabel_partial_match selinux_check_access selinuxconlist selinuxdefcon selinuxenabled selinuxexeccon semodule sendmail.postfix service sestatus set_irq_affinity.sh set_irq_affinity_bynode.sh set_irq_affinity_cpulist.sh setcap setenforce setfiles setpci setquota setsebool setup_mr_cache.sh sfdisk sgi_collect_dump show_counters show_gids show_irq_affinity.sh show_irq_affinity_hints.sh showmount si_prepareclient slattach sldd.sh slurmd slurmstepd sm-notify smartctl smartd sminfo smpdump smpquery smtp-sink smtp-source sos sos-collector sosreport spacewalk-channel-3.6 ss sshd start-statd subscription-manager suexec sulogin swaplabel swapoff swapon switch_root sysctl sysctl_perf_tuning sysinfo-snapshot.py syspurpose system_info_gather tcpdump tcpslice tcsd testsaslauthd thin_metadata_pack thin_metadata_unpack timedatex tipc tune2fs tuned tuned-adm udp-receiver e2label udp-sender unbound-anchor unix_chkpwd unix_update unsquashfs update-pciids update-smart-drivedb usb_modeswitch usb_modeswitch_dispatcher useradd userdel userhelper usermod vdpa vdptool vendor_post_uninstall.sh vendor_pre_uninstall.sh vendstat vipw virt-what visudo vmcore-dmesg vpddecode vsftpd weak-modules wipefs wrmsr xfs_admin xfs_bmap xfs_copy xfs_db xfs_estimate xfs_freeze xfs_fsr xfs_growfs xfs_info xfs_io xfs_logprint xfs_mdrestore xfs_metadump xfs_mkfile xfs_ncheck xfs_quota xfs_repair xfs_rtcp xfs_spaceman xfsdump xfsinvutil xfsrestore xqmstats xtables-nft-multi zdump zic zramctl fixparts semanage cgdisk sss_cache gdisk sssd sgdisk mount.fuse skdump gss-server sktest sim_server uuserver wpa_passphrase x2gocleansessions umount.udisks2 x2godbadmin wpa_cli x2golistsessions_root wpa_supplicant x2goshowblocks iio-sensor-proxy sss_debuglevel setregdomain sss_obfuscate gdm sss_override l_getsepol sss_seed gpm sssctl nslcd iftop paperconfig iotop lctl_suid php-fpm convertcfg nagios nrpe fancontrol isadump isaset pwmconfig sasl2-shared-mechlist sensors-detect dkms xfce4-pm-helper xfce4-kiosk-query rtkitctl xfpm-power-backlight-helper switcheroo-control eapol_test iw
/opt/c3/bin: c3.csh c3.sh c3_com_obj.py c3_config.py c3_except.py c3_file_obj.py c3_sock.py c3_version.py cexec cexecs cget ckill clist cname cnum cpush cpushimage crm cshutdown
/sbin: adduser authconfig cache_check cache_dump cache_metadata_size cache_repair cache_restore cache_writeback clock ctstat depmod dmstats dosfsck dosfslabel ebtables ebtables-restore ebtables-save era_check era_dump era_invalidate era_restore fsck.msdos fsck.vfat genhomedircon grub2-setpassword halt ifdown ifup init insmod ip6tables ip6tables-restore ip6tables-restore-translate ip6tables-save ip6tables-translate ipmi-console ipmi-detect ipmi-ping ipmi-power iptables iptables-restore iptables-restore-translate iptables-save iptables-translate lpc lsmod lvchange lvconvert lvcreate lvdisplay lvextend lvmconfig lvmdevices lvmdiskscan lvmsadc lvmsar lvreduce lvremove lvrename lvresize lvs lvscan mkdict mkdosfs mkfs.msdos mkfs.vfat modinfo modprobe mount.nfs4 named-compilezone netgather packer pef-config pidof ping ping6 poweroff pvchange pvck pvcreate pvdisplay pvmove pvremove pvresize pvs pvscan quotaoff reboot resolvconf restorecon rhn-channel rhn-profile-sync rhn_check rhn_register rhnreg_ks rmcp-ping rmmod rpcbind rpcinfo rtstat runlevel sendmail shutdown slingshot-network-cfg-lldp spacewalk-channel telinit thin_check thin_delta thin_dump thin_ls thin_metadata_size thin_repair thin_restore thin_rmap thin_trim tracepath tracepath6 tsig-keygen udevadm umount.nfs umount.nfs4 update-alternatives vgcfgbackup vgcfgrestore vgchange vgck vgconvert vgcreate vgdisplay vgexport vgextend vgimport vgimportclone vgimportdevices vgmerge vgmknodes vgreduce vgremove vgrename vgs vgscan vgsplit vigr xtables-monitor NetworkManager accessdb accton adcli addgnupghome addpart agetty alternatives anacron apachectl applygnupgdefaults arp arpd arping atd atrun auditctl auditd augenrules aureport ausearch autrace avcstat badblocks biosdecode biosdevname blkdeactivate blkdiscard blkid blkmapd blkzone blockdev bmc-config bmc-device bmc-info bpftool bridge capsh cfdisk chcpu check_lft_balance.pl chgpasswd chkconfig chpasswd chronyd chroot clockdiff cma_roce_mode cma_roce_tos cmimage common_irq_affinity.sh compat_gid_gen consoletype convertquota cracklib-check cracklib-format cracklib-packer cracklib-unpacker create-cracklib-dict create-munge-key criu crond cryptsetup ctrlaltdel dcb dcbtool ddns-confgen debugfs delpart devlink dhclient dhclient-script dmeventd dmfilemapd dmidecode dmsetup dnssec-checkds dnssec-coverage dnssec-dsfromkey dnssec-importkey dnssec-keyfromlabel dnssec-keygen dnssec-keymgr dnssec-revoke dnssec-settime dnssec-signzone dnssec-verify dovecot dump-acct dump-utmp dump_fts dump_lfts.sh dump_mfts.sh e2freefrag e2image e2mmpstatus e2undo dumpe2fs e4crypt e4defrag edquota efibootdump efibootmgr ether-wake ethtool exportfs faillock fatlabel fcgistarter fdformat fdisk filefrag findfs fix-info-dir fixfiles fping fsadm fsck fsck.cramfs fsck.ext4 fsck.fat fsck.ext3 fsck.ext2 e2fsck fsck.minix fsck.xfs fsfreeze fstrim fuse2fs fuser g13-syshelp genhostid genl genrandom getcap getenforce getpcaps getsebool gmond groupadd groupdel groupmems groupmod grpck grpconv grpunconv grub2-bios-setup grub2-get-kernel-settings grub2-install grub2-macbless grub2-mkconfig grub2-ofpathname grub2-probe grub2-reboot grub2-rpm-sort grub2-set-bootflag grub2-set-default grub2-set-password grub2-sparc64-setup grub2-switch-to-blscfg grubby gssproxy hardlink hdparm htcacheclean httpd hwclock ib2ib_setup ibacm ibaddr ibcacheedit ibccconfig ibccquery ibdev2netdev ibfindnodesusing.pl ibhosts ibidsverify.pl iblinkinfo ibnetdiscover ibnodes ibping ibportstate ibqueryerrors ibroute ibrouters ibstat ibstatus ibswitches ibsysstat ibtracert iconvconfig ifcfg ifconfig ifenslave ifstat install-info installkernel ip ipmaddr ipmi-chassis ipmi-chassis-config ipmi-config ipmi-dcmi ipmi-fru ipmi-locate ipmi-oem ipmi-pef-config ipmi-pet ipmi-raw ipmi-sel ipmi-sensors ipmi-sensors-config ipmiconsole ipmidetect ipmimonitoring ipmiping ipmipower iprconfig iprdbg iprdump iprinit iprsos iprupdate ipset iptables-apply iptstate iptunnel irqbalance isc-hmac-fixup iscsi-iname iscsiadm iscsid iscsistart iscsiuio kexec key.dns_resolver ko2iblnd-probe kpartx kpatch ksocklnd-config l_adsidentity l_foreign_symlink l_getidentity l_getidentity_nss lchage lctl ldattach ldconfig ldev ldlm_debug_upcall ledctl ledmon lgroupadd lgroupdel lgroupmod lhsmtool_posix lid ll_decode_linkea lldpad lldptool llsom_sync llverfs lnetctl lnewusers lnstat load_policy logrotate logsave losetup lpasswd lpc.cups lshw lspci lst luseradd luserdel lusermod lustre_rmmod lustre_routes_config lustre_routes_conversion lustre_rsync lustre_tune_prealloc lvm lvm_import_vdo lvmdump lvmpolld makedumpfile matchpathcon mcelog mdadm mdmon mii-diag mii-tool mkdumprd mkfadumprd mkfs mkfs.cramfs mkfs.ext4 mkfs.fat mkfs.ext3 mkfs.ext2 mke2fs mkfs.minix mkfs.xfs mkhomedir_helper mklost+found mksquashfs mkswap mlnx-sf mlnx_affinity mlnx_bf_configure mlnx_bf_configure_ct mlnx_tune mount.fuse3 mount.lustre mount.nfs mountstats msr-cpuid mtr mtr-packet munged named named-checkconf lwresd named-checkzone named-journalprint nameif newusers nfsconf nfsconvert nfsdcld nfsdclddb nfsdclnts nfsdcltrack nfsidmap nfsiostat nfsref nfsstat nft nodetrace nologin nscd nsec3hash nstat nvme oddjobd odp_stat.sh ofed_uninstall.sh opensm osmtest ownership pam_console_apply pam_timestamp_check parted partprobe partx pdata_tools perfquery pethtool pifconfig pivot_root plipconfig pluginviewer plymouth-set-default-theme plymouthd postalias postcat postconf postdrop postfix postkick postlock postlog postmap postmulti postqueue postsuper posttls-finger pwck pwconv pwhistory_helper pwunconv quot quotacheck quotaon quotastats raid-check rdisc rdma rdma-ndd rdmsr readprofile realm redhat_lsb_trigger.x86_64 repquota request-key resize2fs resizepart restorecon_xattr rfkill rhn-profile-sync-3.6 rhn_check-3.6 rhn_register-3.6 rhnreg_ks-3.6 rhnsd rmcpping rndc rndc-confgen rngd rotatelogs route routef routel routerstat rpc.gssd rpc.idmapd rpc.mountd rpc.nfsd rpc.statd rpcdebug rsyslogd rtacct rtcwake rtmon rtpr runuser sa saquery saslauthd sasldblistusers2 saslpasswd2 sefcontext_compile selabel_digest selabel_lookup selabel_lookup_best_match selabel_partial_match selinux_check_access selinuxconlist selinuxdefcon selinuxenabled selinuxexeccon semodule sendmail.postfix service sestatus set_irq_affinity.sh set_irq_affinity_bynode.sh set_irq_affinity_cpulist.sh setcap setenforce setfiles setpci setquota setsebool setup_mr_cache.sh sfdisk sgi_collect_dump show_counters show_gids show_irq_affinity.sh show_irq_affinity_hints.sh showmount si_prepareclient slattach sldd.sh slurmd slurmstepd sm-notify smartctl smartd sminfo smpdump smpquery smtp-sink smtp-source sos sos-collector sosreport spacewalk-channel-3.6 ss sshd start-statd subscription-manager suexec sulogin swaplabel swapoff swapon switch_root sysctl sysctl_perf_tuning sysinfo-snapshot.py syspurpose system_info_gather tcpdump tcpslice tcsd testsaslauthd thin_metadata_pack thin_metadata_unpack timedatex tipc tune2fs tuned tuned-adm udp-receiver e2label udp-sender unbound-anchor unix_chkpwd unix_update unsquashfs update-pciids update-smart-drivedb usb_modeswitch usb_modeswitch_dispatcher useradd userdel userhelper usermod vdpa vdptool vendor_post_uninstall.sh vendor_pre_uninstall.sh vendstat vipw virt-what visudo vmcore-dmesg vpddecode vsftpd weak-modules wipefs wrmsr xfs_admin xfs_bmap xfs_copy xfs_db xfs_estimate xfs_freeze xfs_fsr xfs_growfs xfs_info xfs_io xfs_logprint xfs_mdrestore xfs_metadump xfs_mkfile xfs_ncheck xfs_quota xfs_repair xfs_rtcp xfs_spaceman xfsdump xfsinvutil xfsrestore xqmstats xtables-nft-multi zdump zic zramctl fixparts semanage cgdisk sss_cache gdisk sssd sgdisk mount.fuse skdump gss-server sktest sim_server uuserver wpa_passphrase x2gocleansessions umount.udisks2 x2godbadmin wpa_cli x2golistsessions_root wpa_supplicant x2goshowblocks iio-sensor-proxy sss_debuglevel setregdomain sss_obfuscate gdm sss_override l_getsepol sss_seed gpm sssctl nslcd iftop paperconfig iotop lctl_suid php-fpm convertcfg nagios nrpe fancontrol isadump isaset pwmconfig sasl2-shared-mechlist sensors-detect dkms xfce4-pm-helper xfce4-kiosk-query rtkitctl xfpm-power-backlight-helper switcheroo-control eapol_test iw
/bin: Mail apropos atq atrm awk bashbug bunzip2 bzcat bzcmp bzegrep bzfgrep bzless cancel captoinfo cc chardetect-2 csh desktop-file-edit dnf dnsdomainname domainname dsync easy_install-2 easy_install-3 ex flex++ geqn gmake gneqn gnroff gpg2 gpgv2 gpic gsoelim gtar gtbl gtroff i386 infotocap ipmicmd ipmish lastb ld.so lex linux32 linux64 lp lpq lpr lprm lpstat lz mac2unix mail mailq mailq.postfix mattrib mbadblocks mcat mcd mclasserase mcopy mdel mdeltree mdir mdu mformat minfo mlabel mmd mmount mmove mpartition mrd mren mshortname mshowfat mst mtoolstest mtype mzip nail nc newaliases newaliases.postfix nisdomainname nmtui-connect nmtui-edit nmtui-hostname fpcres open pax pip-2 pip-2.7 pip-3 pip-3.6 pip-3.9 pip2.7 pip3 pkg-config psfaddtable psfgettable psfstriptable pstree.x11 pydoc-3 pydoc2 pydoc3 python2 python3 python3.6 python3.6m pyvenv-3 reset rhn_register rmail rnano rpmquery rpmverify rvi rview rvim scsi-rescan setup-nsssysinit sg sh slingshot-diag slingshot-firmware slingshot-ifname slingshot-ifroute slingshot-snapshot slingshot-utils spfd spfquery subscription-manager sudoedit systemd-resolve systemd-umount tclsh uname26 unix2mac unversioned-python unxz view vimdiff wish x86_64 xzcat xzcmp xzegrep xzfgrep ypdomainname yum zsoelim DcgmProfTesterKernels.ptx GET HEAD POST [ ab ac addr2line alias amuFormat.sh appstream-compose appstream-util ar arch arpaname as at attr aulast aulastlog ausyscall authselect autoexpect auvirt b2sum base32 base64 basename bash bashbug-64 batch bc bg binhex.pl bison blkiomon blkparse blkrawverify blktrace bno_plot.py boltctl bond2team bootctl brotli btrace btrecord btreplay btt busctl bzdiff bzgrep bzip2 bzip2recover bzmore c++filt c89 c99 ca-legacy cairo-sphinx cal cancel.cups cat catchsegv catman cd centrino-decode chacl chage chardetect chardetect-2.7 chattr chcon checkmodule checkpolicy chfn chgrp chmem chmod chown chronyc chrt chsh chvt cifsiostat cksum clear cmcp cmnodes cmp cmsh cmtime col colcrt collectl colmux colrm column comm command config_data consolehelper coredumpctl corelist cp cpan cpan-mirrors cpio cpp cpupower crc32 cronnext crontab csplit csslint-0.6 curl cut cvtsudoers cxi_atomic_bw cxi_atomic_lat cxi_gpu_loopback_bw cxi_heatsink_check cxi_read_bw cxi_read_lat cxi_rh cxi_send_bw cxi_send_lat cxi_service cxi_stat cxi_write_bw cxi_write_lat dapltest date db_archive db_checkpoint db_deadlock db_dump db_dump185 db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate db_stat db_tuner db_upgrade db_verify dbus-binding-tool dbus-cleanup-sockets dbus-daemon dbus-monitor dbus-run-session dbus-send dbus-test-tool dbus-update-activation-environment dbus-uuidgen dc dcgmi dcgmproftester10 dcgmproftester11 dd deallocvt debinhex.pl debuginfod-find delv desktop-file-install desktop-file-validate df dialog diff diff3 dig dimax_init dir dircolors dirmngr dirmngr-client dirname dislocate dmesg dnf-3 dnstap-read dos2unix doveadm doveconf dovecot-sysreport dracut dtest dtestcm dtestsrq dtestx dtrace du dwp dump2psl.pl dump2slvl.pl dumpkeys dwz easy_install-2.7 easy_install-3.6 easy_install-3.9 echo ed egrep eject elfedit enc2xs encguess env envsubst eqn evmctl expand expect expr factor fallocate false fc fc-cache fc-cache-64 fc-cat fc-conflist fc-list fc-match fc-pattern fc-query fc-scan fc-validate fg fgconsole fgrep file fincore find findmnt fio fio-btrace2fio fio-dedupe fio-genzipf fio-verify-state fio2gnuplot fio_generate_plots fio_jsonplus_clat2csv fiologparser.py fiologparser_hist.py fips-finish-install fips-mode-setup fipscheck fipshmac flex flint flint_ext flock fmt fold formail fprintd-delete fprintd-enroll fprintd-list fprintd-verify free fribidi ftp-rfc funzip fuse-overlayfs fusermount3 fwtrace g13 gapplication gawk gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool gdbm_dump gdbm_load gdbmtool gdbus gdk-pixbuf-query-loaders-64 gdk-pixbuf-thumbnailer gencat genfio genl-ctrl-list getconf getent getfacl getfattr getkeycodes getopt getopts gettext gettext.sh gio gio-querymodules-64 glib-compile-schemas gmetric gpasswd gpg gpg-agent gpg-connect-agent gpg-error gpg-wks-server gpg-zip gpgconf gpgme-json gpgparsemail gpgsm gpgsplit gpgv gpio-event-mon gpio-hammer gprof gr2fonttest grep groff grops grotty groups grub2-editenv grub2-file grub2-fstest grub2-glue-efi grub2-kbdcomp grub2-menulst2cfg grub2-mkfont grub2-mkimage grub2-mklayout grub2-mknetdir grub2-mkpasswd-pbkdf2 grub2-mkrelpath grub2-mkrescue grub2-mkstandalone grub2-render-label grub2-script-check grub2-syslinux2cfg gsettings gstat gtk-query-immodules-2.0-64 gtk-update-icon-cache gunzip gzexe gzip h2ph h2xs hash hca_self_test.ofed head hexdump host hostid hostname hostnamectl htdbm htdigest htpasswd httxt2dbm i2c ib_acme fp.ans fp.rsj fpcjres fpclasschart fpclasschart.rsj fpcmake fpcmkcfg fpcmkcfg.rsj ibcongest ibdiagm.sh ibdiagnet ibdiagnet_csv2xml.py ibdiagpath ibdmchk ibdmtr ibdump ibgenperm ibnetsplit ibnlparse ibsim ibsim-run ibtopodiff ibv_asyncwatch ibv_devices ibv_devinfo ibv_rc_pingpong ibv_srq_pingpong ibv_uc_pingpong ibv_ud_pingpong ibv_xsrq_pingpong iconv id idiag-socket-details iio_event_monitor iio_generic_buffer info infocmp install instmodsh intel-speed-select io_demo ionice iostat ipcalc ipcmk ipcrm ipcs ipmi_ui ipmitool isosize itrace jimsh jobs join journalbeat journalctl json_pp json_reformat json_verify json_xs kbd_mode kbdinfo kbdrate kbxutil kdumpctl kernel-install keyctl kibitz kill killall kmod kvm_stat last lastcomm lastlog lchfn lchsh ld.bfd ld.gold ldd less lessecho lesskey lesspipe.sh lexgrog lfs lfs_migrate libnetcfg link linux-boot-prober llobdstat llstat ln loadkeys loadunimap locale localectl localedef locate lockfile logger login loginctl logname logresolve look lp.cups lpoptions lpq.cups lpr.cups lprm.cups lpstat.cups lpunlock ls lsattr lsb_release lsblk lscpu lsgpio lsiio lsinitrd lsipc lslocks lslogins lsmcli lsmd lsmem lsns lsof lsscsi lsusb lsusb.py lwp-download lwp-dump lwp-mirror lwp-request m4 mailstat mailx make make-dummy-cert makedb man mandb manpath mapscrn mcheck mckey mcomp mcookie mcra md5sum mdevices_info mdig memstrack mesg mft_uninstall.sh mget_temp mget_temp_ext minit mkdir mkfifo mkinitrd mkmanifest mknod mkpasswd mktemp mlnx_conf_mgr.sh mlnx_dump_parser mlnx_interface_mgr.sh mlnx_perf mlnx_qos mlx_fs_dump mlxburn mlxcables mlxcables_ext mlxconfig mlxdump mlxdump_ext mlxfwmanager mlxfwreset mlxfwstress mlxfwstress_ext mlxgearbox mlxi2c mlxlink mlxlink_ext mlxmcg mlxmdio mlxpci mlxphyburn mlxprivhost mlxreg mlxreg_ext mlxtrace mlxtrace_ext mlxuptime mlxvpd mmdblookup modulemd-validator modulemd-validator-v1 more mount mountpoint mpstat mremote msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq mst_cable mst_ib_add mstarchive mstconfig mstcongestion mstdump mstflint mstfwmanager mstfwreset mstfwtrace mstmcra mstmread mstmtserver mstmwrite mstop mstprivhost mstregdump mstresourcedump mstresourceparse mstvpd mtools mtserver munge mv mxtar named-rrchecker namei nano ncat ndptool neqn netstat newgidmap newgrp newuidmap nf-ct-add nf-ct-events nf-ct-list nf-exp-add nf-exp-delete nf-exp-list nf-log nf-monitor nf-queue ngettext nice nl nl-addr-add nl-addr-delete nl-addr-list nl-class-add nl-class-delete nl-class-list nl-classid-lookup nl-cls-add nl-cls-delete nl-cls-list nl-fib-lookup nl-link-enslave nl-link-ifindex2name nl-link-list nl-link-name2ifindex nl-link-release nl-link-set nl-link-stats nl-list-caches nl-list-sockets nl-monitor nl-neigh-add nl-neigh-delete nl-neigh-list nl-neightbl-list nl-pktloc-lookup nl-qdisc-add nl-qdisc-delete nl-qdisc-list nl-route-add nl-route-delete nl-route-get nl-route-list nl-rule-list nl-tctree-list nl-util-addr nm nm-online nmcli nmtui nohup nproc nroff nsenter nslookup nsupdate numfmt nv-fabricmanager nv-hostengine xfce4-popup-windowmenu xfwm4-tweaks-settings xfwm4-workspace-settings fd2pascal runcon nvidia-container-runtime-hook gkbd-keyboard-display xfce4-popup-applicationsmenu exo-desktop-item-edit xfce4-popup-directorymenu nvswitch-audit objcopy objdump od oddjob_request ofed_info ofed_rpm_info openipmi_eventd openipmicmd openipmish openssl openvt os-prober os_release p11-kit page_owner_sort pango-list pango-view passmass passwd paste patch pathchk pchrt pckt_drop peekfd perl5.26.3 perldoc perlivp perl perlthanks pflags pgrep perlbug pic piconv pidof pidstat pinentry pinentry-curses pinfo ping pinky pip2 pip3.6 pip3.9 pkaction pkcheck pkcon pkexec pkgconf pkill pkla-admin-identities pkla-check-authorization pkmon pkttyagent pl2pm pldd plot-llstat plymouth pmap pod2html pod2man pod2text pod2usage podchecker podselect post-grohtml powernow-k8-decode pr pre-grohtml preconv printenv printf prlimit procmail prove prtstat ps psfxtable pslog pstree ptar ptardiff ptargrep ptaskset ptty_try ptx pwd pwdx pwmake pwscore pydoc2.7 pydoc3.6 pydoc3.9 pyinotify python2.7 python3.9 pyvenv-3.6 qemu-ga quota quotasync ranlib raw jscal-restore disable-paste display-coords cvsup.tdf rcopy rct rdma_client rdma_server rdma_xclient rdma_xserver read readelf readlink realpath recode-sr-latin red redhat_lsb_init relnotes remunge rename renew-dummy-cert renice rescan-scsi-bus.sh resizecons resolvectl resourcedump resourceparse rev rftp rhsm-debug rhsmcertd riostream rlogin-cwd rm rmail.postfix rmcp_ping rmdir rngtest rpcbind rpcinfo rping rpm rpm2archive rpm2cpio rpmdb rpmkeys rstream rsync rsyslog-recover-qi.pl run-parts display-buttons compileserver data2inc sa-awl sa-check_spamd sa-learn sa-update sacct sacctmgr sadf salloc sar sattach sbatch sbcast scancel scontrol scp script scriptreplay scrontab scsi_logging_level scsi_mandat scsi_readcap scsi_ready scsi_satl scsi_start scsi_stop scsi_temperature sdiag sdiff secon secret-tool sed sedismod sedispol semodule_expand semodule_link semodule_package semodule_unpackage seq setarch setfacl setfattr setfont setkeycodes setleds setmetamode setpriv setsid setterm setup-nsssysinit.sh setvtrgb sftp sg_bg_ctl sg_compare_and_write sg_copy_results sg_dd sg_decode_sense sg_emc_trespass sg_format sg_get_config sg_get_lba_status sg_ident sg_inq sg_logs sg_luns sg_map sg_map26 sg_modes sg_opcodes sg_persist sg_prevent sg_raw sg_rbuf sg_rdac sg_read sg_read_attr sg_read_block_limits sg_read_buffer sg_read_long sg_readcap sg_reassign sg_referrals sg_rep_zones sg_requests sg_reset sg_reset_wp sg_rmsn sg_rtpg sg_safte sg_sanitize sg_sat_identify sg_sat_phy_event sg_sat_read_gplog sg_sat_set_features sg_scan sg_seek sg_senddiag sg_ses sg_ses_microcode sg_start sg_stpg sg_stream_ctl sg_sync sg_test_rwbuf sg_timestamp sg_turs sg_unmap sg_verify sg_vpd sg_wr_mode sg_write_buffer sg_write_long sg_write_same sg_write_verify sg_write_x sg_xcopy sg_zone sgather sgi_config_changed sginfo sgm_dd sgp_dd sha1sum sha224sum sha256sum sha384sum sha512hmac sha512sum sha384hmac sha256hmac sha224hmac sha1hmac shasum showconsolefont showkey shred shuf sim_lsmplugin simc_lsmplugin sinfo size skill slabinfo slabtop sldd-ib0.sh sldd-ib1.sh sleep slirp4netns snice soelim solterm sort sotruss spamassassin spamc spamd spax spfd.perl-Mail-SPF spfquery.perl-Mail-SPF splain split sprio sprof sqlite3 squeue sreport srun sscg ssh ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sshare sstat stat stdbuf stedump strace strace-log-merge strigger strings strip stty su sudo sudoreplay sum sview symlinks sync systemconfigurator systemctl systemd-analyze systemd-ask-password systemd-cat systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-escape systemd-firstboot systemd-hwdb systemd-inhibit systemd-machine-id-setup systemd-mount systemd-notify systemd-path systemd-run systemd-socket-activate systemd-stdio-bridge systemd-sysusers systemd-tmpfiles systemd-tty-ask-password-agent tabs tac tail tapestat tar taskset tbl tc_wrap.py tclsh8.6 tcsh teamd teamdctl teamnl tee test tgz tic time timed-read timed-run timedatectl timeout tload tmon toe top touch tput tr tracepath tree troff true truncate trust tset tsort tty turbostat type tzselect ucmatose ucx_info ucx_perftest ucx_read_profile udaddy udevadm udpong ul ulimit umask umount unalias uname unbuffer unexpand unicode_start unicode_stop uniq unix2dos unlink unmunge unpigz unshare pigz unzipsfx update-ca-trust update-crypto-policies update-desktop-database update-gtk-immodules update-mime-database updatedb uptime usb-devices usbhid-dump users usleep utmpdump uuidgen uuidparse uz vdir vdo vdo-by-dev vdodmeventd vdodumpconfig vdoforcerebuild vdoformat vdosetuuid vdostats verify_blkparse vi vim vimtutor vlock vmstat vpi_tcpdump w wait wall watch watchgnupg wc wdctl weather wget whatis whereis which whiptail who whoami wish8.6 wqdump wqdump_ext write x2gocmdexitmessage x86_64-redhat-linux-g++ x86_64-redhat-linux-gcc-8 x86_64-redhat-linux-c++ g++ c++ x86_64-redhat-linux-gnu-pkg-config x86_energy_perf_policy x86_64-redhat-linux-gcc gcc xargs xdg-desktop-icon xdg-desktop-menu xdg-email xdg-icon-resource xdg-mime xdg-open xdg-screensaver xdg-settings xgettext xkibitz xmlcatalog xmllint xmlwf xsubpp xxd xz xzdec xzdiff xzgrep xzless xzmore yes yum-repoquery yum-repoquery3 yume yume-opkg zcat zcmp zdiff zegrep zfgrep zforce zgrep zip zipcloak zipdetails zipgrep zipinfo zipnote unzip zipsplit zless zmore znew xwud crb xhost dbilogstrip xinput dbiprof xkill bdftopcf xmodmap fonttosfnt xrandr mkfontdir xrdb mkfontscale xrefresh ucs2any xprop pwgen xorg-x11-fonts-update-dirs xset xauth x2gobasepath git sessreg git-receive-pack xsetpointer git-shell iceauth git-upload-archive gsettings-data-convert git-upload-pack xsetroot setxkbmap xstdcmap xkbcomp startx nxagent xinit x2goagent luit audit2allow oclock audit2why x11perf chcat x11perfcomp sandbox xvinfo x2gofeature sss_ssh_authorizedkeys xwininfo cldrparser sss_ssh_knownhostsproxy xbiff fusermount showrgb ulockmgr_server xclipboard sshfs xclock envml modulecmd cvsco.tdf scl xconsole scl_enabled xcursorgen scl_source xcutsel compile_et xgamma pcre2-config xdpr gss-client xeyes krb5-config xfd sim_client xfontsel uuclient xload edid-decode xlogo xdpyinfo cvsdiff.tdf xev xmag xlsatoms xmessage xlsclients xpr xlsfonts xvidtune mcpp xwd x2gofeaturelist cg_diff x2gogetapps stap-merge x2gogetservers zstdmt x2golistdesktops stap-report x2golistmounts stapbpf x2golistsessions paperconf jscal x2golistshadowsessions stapdyn x2gomountdirs cg_merge x2gopath staprun x2goresume-session stapsh x2goruncommand gdb-add-index x2goserver-run-extensions lua jscal-store x2gosessionlimit luac jstest x2gosetkeyboard certutil x2gostartagent cmsutil x2gosuspend-session pzstd get-versions x2goterminate-session crlutil x2goumount-session ms_print x2goversion valgrind tmux valgrind-di-server autoconf valgrind-listener autoheader vgdb autom4te checksctp autoreconf sctp_darn autoscan sctp_status autoupdate sctp_test ifnames withsctp aclocal modutil aclocal-1.16 xsltproc automake nss-policy-check automake-1.16 pk12util eu-addr2line mokutil eu-ar signver eu-elfclassify stap eu-elfcmp ssltap eu-elfcompress stap-prep eu-elflint callgrind_annotate eu-findtextrel unzstd gpm-root eu-make-debug-archive gettextize eu-nm autopoint eu-objdump xfdesktop-settings eu-ranlib install-catalog eu-readelf sgmlwhich eu-size xfce4-session-logout eu-stack xfce4-session eu-strings fixqt4headers.pl eu-strip qdbuscpp2xml-qt5 eu-unstrip qdbusxml2cpp-qt5 guild tracegen guile uic-qt5 guile-tools evdev-joystick guile2 callgrind_control guile2-tools hltest idn ffcfstress ctags cg_annotate check-regexp ffmvforce cpp2html ffset java2html ld mouse-test source-highlight zstd fftest source-highlight-esc.sh zstdcat bin2obj source-highlight-settings zstdgrep chmcmd src-hilite-lesspipe.sh inputattach zstdless chmls fixcvsdiff qmake-qt5.sh stap-profile-annotate rediff acyclic splitdiff bcomps unwrapdiff ccomps byacc circo yacc cluster diffstat diffimg bindfs dijkstra moc-qt5 dot gnuplot-qt dot2gxl ccmake dotty ccmake3 edgepaint qlalr fdp qmake-qt5 gc cmake gml2gv cmake3 graphml2gv cpack gv2gml cpack3 gv2gxl ctest gvcolor ctest3 gvgen mc gvmap htop gvmap.sh mcdiff gvpack mcedit gvpr mcview gxl2dot ncdu gxl2gv jq lefty telnet lneato phar mm2gv php neato qvkgen nop phar.phar osage php-cgi patchwork phpize prune nagiostats sccmap screen sfdp cifsdd tred dbwrap_tool twopi dumpmscat unflatten mdsearch vimdot rcc-qt5 a2x mvxattr a2x.py nmblookup asciidoc regpatch asciidoc.py flipdiff intltool-extract grepdiff intltool-merge interdiff intltool-prepare lsdiff intltool-update oLschema2ldif intltoolize regdiff gendiff regshell rpmbuild regtree rpmspec rpcclient gcore syncqt.pl gdb smbcacls gstack samba-regedit pstack sharesec authvar smbclient efikeygen smbcquotas efisiglist smbget pesigcheck smbprint pesign recountdiff pesign-client smbspool libtool smbtar libtoolize smbtree rpmsign sensors ltrace wnck-urgency-monitor combinediff monitor-sensor dehtmldiff gconf-merge-tree editdiff xfwm4-settings espdiff thunar-settings filterdiff gnuplot gatttool xdriinfo sensors-conf-convert mpris-proxy encode_keychange pulseaudio snmpbulkget l2test snmpbulkwalk dvcont snmpdelta mkrfc2734 snmpdf panelctl snmpget upower snmpgetnext gnome-keyring snmpinform gnome-keyring-3 snmpnetstat ibus snmpping ibus-setup snmpps ibus-daemon snmpset hunspell snmpstatus zenity snmptable nm-connection-editor snmptest Xwayland snmptls flatpak snmptop rctest snmptranslate flatpak-coredumpctl snmptrap flatpak-bisect snmpusm wvgain snmpvacm wavpack snmpwalk hciattach mousepad libwacom-list-local-devices wvtag dconf wvunpack libinput gconftool-2 X aspell Xorg exo-open cvt xfce4-panel gtf ispell broadwayd precat gtk-launch hciconfig Thunar gtk-query-immodules-3.0-64 rfcomm nvidia-persistenced hcidump thunar nvidia-cuda-mps-control hcitool xfwm4 nvidia-cuda-mps-server sdptool nvidia-debugdump plistutil nvidia-powerd preunzip nvidia-smi hex2hcd xfdesktop nvidia-bug-report.sh dumpiso nvidia-sleep.sh sendiso nvidia-modprobe testlibraw nvidia-settings bwrap nvidia-xconfig prezip curl-config prezip-bin notify-send soundstretch resize run-with-aspell koi8rxterm spell uxterm word-list-compress xterm sbcdec gst-inspect-1.0 sbcenc gst-launch-1.0 sbcinfo gst-stats-1.0 pipewire gst-typefind-1.0 enchant-2 aserver enchant-lsmod-2 gcr-viewer gjs-console dbus-launch pipewire-media-session xfconf-query gnome-keyring-daemon orc-bugreport gjs bluemoon pa-info bluetoothctl glxgears btattach glxinfo btmon glxinfo64 ciptool scp-dbus-service l2ping startxfce4 xfce4-session-settings uuid mev xflock4 ksh93 delp gnome-session xfce4-terminal memhog gnome-session-custom-session lynx uuid-config gnome-session-inhibit rksh migratepages gnome-session-quit scalar migspeed gnome-session-selector shcomp fp redhat-kiosk uuid-config.x86_64 cd-convert evince-previewer WebKitWebDriver evince fpc pinentry-gtk evince-thumbnailer pinentry-gtk-2 curve_keygen grilo-test-ui-0.3 scmp_sys_resolver grl-inspect-0.3 gdbus-codegen grl-launch-0.3 pcre-config canberra-boot glib-gettextize canberra-gtk-play glib-compile-resources bluetooth-sendto udisksctl pavucontrol enchant mutter glib-genmarshal cd-create-profile glib-mkenums cd-fix-profile enchant-lsmod cd-iccdump cd-paranoia cd-it8 highlight colormgr alt-java numactl gnome-control-center gobject-query gdmflexiserver evolution gnome-shell jjs metricbeat gnome-shell-extension-prefs keytool numademo gnome-shell-extension-tool orbd pydoc3.11 gnome-shell-perf-tool gresource cd-read numastat pack200 cd-info iso-info rmid python3.11 mmc-tool google-chrome-stable cd-drive cdda-player gensquashfs gtester thunar-volman rmiregistry runc thunar-volman-settings gtester-report xfce4-power-manager java nvidia-container-cli xfce4-power-manager-settings nvidia-container-runtime xfce4-appfinder pip-3.11 xfrun4 fpart pip3.11 xfce4-accessibility-settings servertool rdsquashfs xfce4-appearance-settings tnameserv sqfs2tar xfce4-color-settings policytool sqfsdiff xfce4-display-settings nvidia-ctk xfce4-find-cursor unpack200 tar2sqfs xfce4-keyboard-settings nvidia-container-toolkit xfce4-mime-helper iso-read xfce4-mime-settings ksh pmount xfce4-mouse-settings sasl2-sample-client xfce4-settings-editor sasl2-sample-server xfce4-settings-manager pumount xfsettingsd google-chrome fpsync wolframscript fpcsubst fpcsubst.rsj fpdoc fppkg fprcp gplprog.pt gplunit.pt grab_vcsa grep.tdf h2pas h2paspp instantfpc json2pas makeskel makeskel.rsj mka64ins mkarmins mkinsadd mkx86ins pas2fpm pas2jni pas2js pas2ut pas2ut.rsj plex postw32 ppcx64 ppdep ppudump ppufiles ppumove program.pt ptop ptop.rsj pyacc rmcvsdir rstconv rstconv.rsj tpgrep.tdf unihelper unit.pt unitdiff unitdiff.rsj webidl2pas seff sjobexitmod sjstat smail
/opt/cray/pe/bin: set_default set_default_master set-gcc-libs
/home/p_mvgkm/p_mvgopt02/gmsh//bin: gmsh onelab.py
=============================================================================================
TESTING: configureExternalPackagesDir from config.framework(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/framework.py:1079)
Set alternative directory external packages are built in
serialEvaluation: initial cxxDialectRanges ('c++11', 'c++20')
serialEvaluation: child htool raised minimum cxx dialect version to c++11
serialEvaluation: child SuperLU_DIST raised minimum cxx dialect version to c++11
serialEvaluation: child SuiteSparse raised minimum cxx dialect version to c++11
serialEvaluation: child hpddm raised minimum cxx dialect version to c++11
serialEvaluation: new cxxDialectRanges ('c++11', 'c++20')
child config.utilities.macosFirewall took 0.000005 seconds
=============================================================================================
TESTING: configureDebuggers from config.utilities.debuggers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/utilities/debuggers.py:20)
Find a default debugger and determine its arguments
Checking for program /opt/cray/pe/gcc/12.2.0/bin/gdb...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/gdb...not found
Checking for program /home/p_mvgkm/.local/bin/gdb...not found
Checking for program /home/p_mvgkm/bin/gdb...not found
Checking for program /opt/software/packages/sbank/bin/gdb...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/gdb...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/gdb...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/gdb...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/gdb...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/gdb...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/gdb...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/gdb...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/gdb...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/gdb...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/gdb...not found
Checking for program /opt/clmgr/sbin/gdb...not found
Checking for program /opt/clmgr/bin/gdb...not found
Checking for program /opt/sgi/sbin/gdb...not found
Checking for program /opt/sgi/bin/gdb...not found
Checking for program /usr/share/Modules/bin/gdb...not found
Checking for program /usr/local/bin/gdb...not found
Checking for program /usr/bin/gdb...found
Defined make macro "GDB" to "/usr/bin/gdb"
Defined "USE_DEBUGGER" to ""gdb""
Defined make macro "DSYMUTIL" to "true"
child config.utilities.debuggers took 0.003078 seconds
=============================================================================================
TESTING: configureDirectories from PETSc.options.petscdir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/petscdir.py:22)
Checks PETSC_DIR and sets if not set
PETSC_VERSION_RELEASE of 1 indicates the code is from a release branch or a branch created from a release branch.
Version Information:
#define PETSC_VERSION_RELEASE 1
#define PETSC_VERSION_MAJOR 3
#define PETSC_VERSION_MINOR 20
#define PETSC_VERSION_SUBMINOR 1
#define PETSC_VERSION_DATE "unknown"
#define PETSC_VERSION_GIT "unknown"
#define PETSC_VERSION_DATE_GIT "unknown"
#define PETSC_VERSION_EQ(MAJOR,MINOR,SUBMINOR) \
#define PETSC_VERSION_ PETSC_VERSION_EQ
#define PETSC_VERSION_LT(MAJOR,MINOR,SUBMINOR) \
#define PETSC_VERSION_LE(MAJOR,MINOR,SUBMINOR) \
#define PETSC_VERSION_GT(MAJOR,MINOR,SUBMINOR) \
#define PETSC_VERSION_GE(MAJOR,MINOR,SUBMINOR) \
child PETSc.options.petscdir took 0.004611 seconds
=============================================================================================
TESTING: getDatafilespath from PETSc.options.dataFilesPath(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/dataFilesPath.py:29)
Checks what DATAFILESPATH should be
child PETSc.options.dataFilesPath took 0.000329 seconds
=============================================================================================
TESTING: configureGit from config.sourceControl(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/sourceControl.py:24)
Find the Git executable
Checking for program /opt/cray/pe/gcc/12.2.0/bin/git...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/git...not found
Checking for program /home/p_mvgkm/.local/bin/git...not found
Checking for program /home/p_mvgkm/bin/git...not found
Checking for program /opt/software/packages/sbank/bin/git...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/git...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/git...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/git...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/git...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/git...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/git...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/git...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/git...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/git...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/git...not found
Checking for program /opt/clmgr/sbin/git...not found
Checking for program /opt/clmgr/bin/git...not found
Checking for program /opt/sgi/sbin/git...not found
Checking for program /opt/sgi/bin/git...not found
Checking for program /usr/share/Modules/bin/git...not found
Checking for program /usr/local/bin/git...not found
Checking for program /usr/bin/git...found
Defined make macro "GIT" to "git"
Executing: git --version
stdout: git version 2.39.3
=============================================================================================
TESTING: configureMercurial from config.sourceControl(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/sourceControl.py:35)
Find the Mercurial executable
Checking for program /opt/cray/pe/gcc/12.2.0/bin/hg...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/hg...not found
Checking for program /home/p_mvgkm/.local/bin/hg...not found
Checking for program /home/p_mvgkm/bin/hg...not found
Checking for program /opt/software/packages/sbank/bin/hg...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/hg...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/hg...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/hg...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/hg...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/hg...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/hg...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/hg...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/hg...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/hg...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/hg...not found
Checking for program /opt/clmgr/sbin/hg...not found
Checking for program /opt/clmgr/bin/hg...not found
Checking for program /opt/sgi/sbin/hg...not found
Checking for program /opt/sgi/bin/hg...not found
Checking for program /usr/share/Modules/bin/hg...not found
Checking for program /usr/local/bin/hg...not found
Checking for program /usr/bin/hg...not found
Checking for program /usr/local/sbin/hg...not found
Checking for program /usr/sbin/hg...not found
Checking for program /opt/c3/bin/hg...not found
Checking for program /sbin/hg...not found
Checking for program /bin/hg...not found
Checking for program /opt/cray/pe/bin/hg...not found
Checking for program /home/p_mvgkm/p_mvgopt02/gmsh//bin/hg...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/hg...not found
child config.sourceControl took 0.010343 seconds
=============================================================================================
TESTING: configureInstallationMethod from PETSc.options.petscclone(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/petscclone.py:20)
Determine if PETSc was obtained via git or a tarball
lib/petsc/bin/maint exists. This appears to be a repository clone
.git directory exists
Executing: ['git', 'describe', '--match=v*']
stdout: v3.20.1-26-gd00665f148d
Executing: ['git', 'log', '-1', '--pretty=format:%H']
stdout: d00665f148d3df7a805213d4e74829e2984cdbd8
Executing: ['git', 'log', '-1', '--pretty=format:%ci']
stdout: 2023-11-06 05:16:30 +0000
Executing: ['git', 'rev-parse', '--abbrev-ref', 'HEAD']
stdout: release
Defined "VERSION_GIT" to ""v3.20.1-26-gd00665f148d""
Defined "VERSION_DATE_GIT" to ""2023-11-06 05:16:30 +0000""
Defined "VERSION_BRANCH_GIT" to ""release""
child PETSc.options.petscclone took 0.277575 seconds
=============================================================================================
TESTING: setNativeArchitecture from PETSc.options.arch(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/arch.py:29)
Forms the arch as GNU's configure would form it
=============================================================================================
TESTING: configureArchitecture from PETSc.options.arch(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/arch.py:42)
Checks if PETSC_ARCH is set and sets it if not set
No previous hashfile found
Setting hashfile: arch-FreeFem-complex/lib/petsc/conf/configure-hash
Deleting configure hash file: arch-FreeFem-complex/lib/petsc/conf/configure-hash
Unable to delete configure hash file: arch-FreeFem-complex/lib/petsc/conf/configure-hash
child PETSc.options.arch took 0.442127 seconds
=============================================================================================
TESTING: setInstallDir from PETSc.options.installDir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/installDir.py:31)
Set installDir to either prefix or if that is not set to PETSC_DIR/PETSC_ARCH
Defined make macro "PREFIXDIR" to "/home/p_mvgkm/p_mvgopt02/FreeFem/petsc/arch-FreeFem-complex"
=============================================================================================
TESTING: saveReconfigure from PETSc.options.installDir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/installDir.py:76)
Save the configure options in a script in PETSC_ARCH/lib/petsc/conf so the same configure may be easily re-run
=============================================================================================
TESTING: cleanConfDir from PETSc.options.installDir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/installDir.py:68)
Remove all the files from configuration directory for this PETSC_ARCH, from --with-clean option
=============================================================================================
TESTING: configureInstallDir from PETSc.options.installDir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/installDir.py:52)
Makes installDir subdirectories if it does not exist for both prefix install location and PETSc work install location
Changed persistence directory to /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/arch-FreeFem-complex/lib/petsc/conf
=============================================================================================
TESTING: restoreReconfigure from PETSc.options.installDir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/installDir.py:90)
If --with-clean was requested but restoring the reconfigure file was requested then restore it
child PETSc.options.installDir took 0.005294 seconds
=============================================================================================
TESTING: setExternalPackagesDir from PETSc.options.externalpackagesdir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/externalpackagesdir.py:15)
Set location where external packages will be downloaded to
=============================================================================================
TESTING: cleanExternalpackagesDir from PETSc.options.externalpackagesdir(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/externalpackagesdir.py:23)
Remove all downloaded external packages, from --with-clean
child PETSc.options.externalpackagesdir took 0.000383 seconds
=============================================================================================
TESTING: configureCLanguage from PETSc.options.languages(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/languages.py:28)
Choose whether to compile the PETSc library using a C or C++ compiler
C language is C
Defined "CLANGUAGE_C" to "1"
Defined make macro "CLANGUAGE" to "C"
child PETSc.options.languages took 0.001084 seconds
=============================================================================================
TESTING: resetEnvCompilers from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2701)
Remove compilers from the shell environment so they do not interfere with testing
=============================================================================================
TESTING: checkEnvCompilers from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2718)
Set configure compilers from the environment, from -with-environment-variables
=============================================================================================
TESTING: checkMPICompilerOverride from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2671)
Check if --with-mpi-dir is used along with CC CXX or FC compiler options.
This usually prevents mpi compilers from being used - so issue a warning
=============================================================================================
TESTING: requireMpiLdPath from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2692)
OpenMPI wrappers require LD_LIBRARY_PATH set
=============================================================================================
TESTING: checkInitialFlags from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:725)
Initialize the compiler and linker flags
Initialized CFLAGS to
Initialized CFLAGS to
Initialized LDFLAGS to
Initialized CUDAFLAGS to
Initialized CUDAFLAGS to
Initialized LDFLAGS to
Initialized HIPFLAGS to
Initialized HIPFLAGS to
Initialized LDFLAGS to
Initialized SYCLFLAGS to
Initialized SYCLFLAGS to
Initialized SYCLC_LINKER_FLAGS to
Initialized CXXFLAGS to
Initialized CXX_CXXFLAGS to
Initialized LDFLAGS to
Initialized FFLAGS to
Initialized FFLAGS to
Initialized LDFLAGS to
Initialized CPPFLAGS to
Initialized FPPFLAGS to
Initialized CUDAPPFLAGS to
Initialized CXXPPFLAGS to
Initialized HIPPPFLAGS to
Initialized SYCLPPFLAGS to
Initialized CC_LINKER_FLAGS to []
Initialized CXX_LINKER_FLAGS to []
Initialized FC_LINKER_FLAGS to []
Initialized CUDAC_LINKER_FLAGS to []
Initialized HIPC_LINKER_FLAGS to []
Initialized sharedLibraryFlags to []
Initialized dynamicLibraryFlags to []
=============================================================================================
TESTING: checkCCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1420)
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpincc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpincc...not found
Unable to find programs: ['mpincc'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpiicc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpiicc...not found
Unable to find programs: ['mpiicc'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc...found
Defined make macro "CC" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -lpetsc-ufod4vtr9mqHvKIQiVAm
stdout:
ld.lld: error: unable to find library -lpetsc-ufod4vtr9mqHvKIQiVAm
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: unable to find library -lpetsc-ufod4vtr9mqHvKIQiVAm
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
======== Checking running linked program
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Testing executable /tmp/petsc-z1ne2ek_/config.setCompilers/conftest to see if it can be run
Executing: /tmp/petsc-z1ne2ek_/config.setCompilers/conftest
Running Executable with threads to time it out at 60
Executing: /tmp/petsc-z1ne2ek_/config.setCompilers/conftest
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -v | head -n 20
stdout: mpicc for MPICH version 8.1.27
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Found candidate GCC installation: /opt/rh/gcc-toolset-10/root/usr/lib/gcc/x86_64-redhat-linux/10
Selected GCC installation: /opt/rh/gcc-toolset-10/root/usr/lib/gcc/x86_64-redhat-linux/10
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
clang-16: warning: argument unused during compilation: '-march=x86-64' [-Wunused-command-line-argument]
clang-16: warning: argument unused during compilation: '-I /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include' [-Wunused-command-line-argument]
Since MPI c compiler starts with mpi, force searches for other compilers to only look for MPI compilers
=============================================================================================
TESTING: checkCPreprocessor from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1467)
Locate a functional C preprocessor
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc...found
Defined make macro "CPP" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -E"
Preprocessing source:
#include "confdefs.h"
#include "conffix.h"
#include <stdlib.h>
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -E -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Preprocess output before filtering:
Preprocess output after filtering:
=============================================================================================
TESTING: checkCxxCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1749)
Locate a functional Cxx compiler
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpinc++...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpinc++...not found
Unable to find programs: ['mpinc++'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpinc++...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpinc++...not found
Unable to find programs: ['mpinc++'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpinc++...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpinc++...not found
Unable to find programs: ['mpinc++'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpiicpc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpiicpc...not found
Unable to find programs: ['mpiicpc'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpiicpc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpiicpc...not found
Unable to find programs: ['mpiicpc'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpiicpc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/mpiicpc...not found
Unable to find programs: ['mpiicpc'] in listing of the specific search path: ['/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin']
/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin: cray_spawn_server mpic++ mpicc mpichversion mpicxx mpif77 mpif90 mpifort
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx...found
Defined make macro "CXX" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -lpetsc-ufod4vtr9mqHvKIQiVAm
stdout:
ld.lld: error: unable to find library -lpetsc-ufod4vtr9mqHvKIQiVAm
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: unable to find library -lpetsc-ufod4vtr9mqHvKIQiVAm
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
======== Checking running linked program
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Testing executable /tmp/petsc-z1ne2ek_/config.setCompilers/conftest to see if it can be run
Executing: /tmp/petsc-z1ne2ek_/config.setCompilers/conftest
Running Executable with threads to time it out at 60
Executing: /tmp/petsc-z1ne2ek_/config.setCompilers/conftest
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
=============================================================================================
TESTING: checkDeviceHostCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:751)
Set the host compiler (HC) of the device compiler (DC) to the HC unless the DC already explicitly sets its HC. This may be needed if the default HC used by the DC is ancient and PETSc uses a different HC (e.g., through --with-cxx=...).
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 500
Detected CLANG compiler
=============================================================================================
TESTING: checkCxxDialect from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:773)
Determine the CXX dialect supported by the compiler (language) [and corresponding compiler
option - if any].
isGNUish indicates if the compiler is gnu compliant (i.e. clang).
-with-<lang>-dialect can take options:
auto: use highest supported dialect configure can determine
[[c|gnu][xx|++]]23: not yet supported
[[c|gnu][xx|++]]20: gnu++20 or c++20
[[c|gnu][xx|++]]17: gnu++17 or c++17
[[c|gnu][xx|++]]14: gnu++14 or c++14
[[c|gnu][xx|++]]11: gnu++11 or c++11
0: disable CxxDialect check and use compiler default
On return this function sets the following values:
- if needed, appends the relevant CXX dialect flag to <lang> compiler flags
- self.cxxDialectRange = (minSupportedDialect,maxSupportedDialect) (e.g. ('c++11','c++14'))
- self.addDefine('HAVE_{LANG}_DIALECT_CXX{DIALECT_NUM}',1) for every supported dialect
- self.lang+'dialect' = 'c++'+maxDialectNumber (e.g. 'c++14') but ONLY if the user
specifically requests a dialect version, otherwise this is not set
Raises a config.base.ConfigureSetupError if:
- The user has set both the --with-dialect=[...] configure options and -std=[...] in their
compiler flags
- The combination of specifically requested packages cannot all be compiled with the same flag
- An unknown C++ dialect is provided
The config.base.ConfigureSetupErrors are NOT meant to be caught, as they are fatal errors
on part of the user
Raises a RuntimeError (which may be caught) if:
- The compiler does not support at minimum -std=c++11
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Did not detect MSVC
checkCxxDialect: checking C++ dialect version for language "CXX" using compiler "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx"
checkCxxDialect: PETSc believes compiler (/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx) IS gnu-ish
checkCxxDialect: PETSc believes that we have NOT processed /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx before
checkCxxDialect: configure option after sanitization: --with-cxx-dialect=AUTO
checkCxxDialect: dialect AUTO has been NOT explicitly selected for CXX
checkCxxDialect: Have potential flag pool:
- -std=gnu++20
- -std=c++20
- -std=gnu++17
- -std=c++17
- -std=gnu++14
- -std=c++14
- -std=gnu++11
- -std=c++11
checkCxxDialect: checking CXX 20 for cxx with -std=gnu++20
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
// c++11 includes
#include <memory>
#include <random>
#include <complex>
#include <iostream>
#include <algorithm>
template<class T> void ignore(const T&) { } // silence unused variable warnings
class valClass
{
public:
int i;
valClass() { i = 3; }
valClass(int x) : i(x) { }
};
class MoveSemantics
{
std::unique_ptr<valClass> _member;
public:
MoveSemantics(int val = 4) : _member(new valClass(val)) { }
MoveSemantics& operator=(MoveSemantics &&other) noexcept = default;
};
template<typename T> constexpr T Cubed( T x ) { return x*x*x; }
auto trailing(int x) -> int { return x+2; }
enum class Shapes : int {SQUARE,CIRCLE};
template<class ... Types> struct Tuple { };
using PetscErrorCode = int;
// c++14 includes
#include <type_traits>
template<class T> constexpr T pi = T(3.1415926535897932385L); // variable template
// c++17 includes
#include <string_view>
#include <any>
#include <optional>
#include <variant>
[[nodiscard]] int nodiscardFunc() { return 0; }
struct S2
{
// static inline member variables since c++17
static inline int var = 8675309;
void f(int i);
};
void S2::f(int i)
{
// until c++17: Error: invalid syntax
// since c++17: OK: captures the enclosing S2 by copy
auto lmbd = [=, *this] { std::cout << i << " " << this->var << std::endl; };
lmbd();
}
// c++20 includes
#include <compare>
#include <concepts>
consteval int sqr_cpp20(int n)
{
return n*n;
}
constexpr auto r = sqr_cpp20(10);
static_assert(r == 100);
const char *g_cpp20() { return "dynamic initialization"; }
constexpr const char *f_cpp20(bool p) { return p ? "constant initializer" : g_cpp20(); }
constinit const char *cinit_c = f_cpp20(true); // OK
// Declaration of the concept "Hashable", which is satisfied by any type 'T'
// such that for values 'a' of type 'T', the expression std::hash<T>{}(a)
// compiles and its result is convertible to std::size_t
template <typename T>
concept Hashable = requires(T a)
{
{ std::hash<T>{}(a) } -> std::convertible_to<std::size_t>;
};
struct meow {};
// Constrained C++20 function template:
template <Hashable T>
void f_concept(T) {}
void abbrev_f1(auto); // same as template<class T> void abbrev_f1(T)
void abbrev_f4(const std::destructible auto*, std::floating_point auto&); // same as template<C3 T, C4 U> void abbrev_f4(const T*, U&);
template<>
void abbrev_f4<int>(const int*, const double&); // specialization of abbrev_f4<int, const double> (since C++20)
int main(void) {
// c++11 body
valClass cls = valClass(); // value initialization
int i = cls.i; // i is not declared const
const int& rci = i; // but rci is
const_cast<int&>(rci) = 4;
constexpr int big_value = 1234;
decltype(big_value) ierr = big_value;
auto ret = trailing(ierr);
MoveSemantics bob;
MoveSemantics alice;
alice = std::move(bob);ignore(alice);
Tuple<> t0;ignore(t0);
Tuple<long> t1;ignore(t1);
Tuple<int,float> t2;ignore(t2);
std::random_device rd;
std::mt19937 mt(rd());
std::normal_distribution<double> dist(0,1);
const double x = dist(mt);
std::cout << x << ret << std::endl;
std::vector<std::unique_ptr<double>> vector;
std::sort(vector.begin(), vector.end(), [](std::unique_ptr<double> &a, std::unique_ptr<double> &b) { return *a < *b; });
// c++14 body
auto ptr = std::make_unique<int>();
*ptr = 1;
std::cout << pi<double> << std::endl;
constexpr const std::complex<double> const_i(0.0,1.0);
auto lambda = [](auto x, auto y) { return x + y; };
std::cout << lambda(3,4) << std::real(const_i) << std::endl;
// c++17 body
std::variant<int,float> v,w;
v = 42; // v contains int
int ivar = std::get<int>(v);
w = std::get<0>(v); // same effect as the previous line
w = v; // same effect as the previous line
S2 foo;
foo.f(ivar);
if constexpr (std::is_arithmetic_v<int>) std::cout << "c++17" << std::endl;
typedef std::integral_constant<Shapes,Shapes::SQUARE> squareShape;
// static_assert with no message since c++17
static_assert(std::is_same_v<squareShape,squareShape>);
auto val = nodiscardFunc();ignore(val);
// c++20 body
ignore(cinit_c);
using std::operator""s;
f_concept("abc"s);
return 0;
}
Output from compiling with -std=gnu++20
Added Cxx compiler flag -std=gnu++20
checkCxxDialect: success using -std=gnu++20 for Cxx dialect C++20, set new cxxDialectRange: ('c++11', 'c++20')
Defined "HAVE_CXX_DIALECT_CXX11" to "1"
Defined "HAVE_CXX_DIALECT_CXX14" to "1"
Defined "HAVE_CXX_DIALECT_CXX17" to "1"
Defined "HAVE_CXX_DIALECT_CXX20" to "1"
=============================================================================================
TESTING: checkCxxPreprocessor from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1785)
Locate a functional Cxx preprocessor
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx...found
Defined make macro "CXXPP" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -E"
Preprocessing source:
#include "confdefs.h"
#include "conffix.h"
#include <cstdlib>
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -E -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Preprocess output before filtering:
Preprocess output after filtering:
=============================================================================================
TESTING: checkCUDACompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1504)
Locate a functional CUDA compiler
Checking for program /opt/cray/pe/gcc/12.2.0/bin/nvcc...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/nvcc...not found
Checking for program /home/p_mvgkm/.local/bin/nvcc...not found
Checking for program /home/p_mvgkm/bin/nvcc...not found
Checking for program /opt/software/packages/sbank/bin/nvcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/nvcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/nvcc...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/nvcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/nvcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/nvcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/nvcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/nvcc...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/nvcc...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/nvcc...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/nvcc...not found
Checking for program /opt/clmgr/sbin/nvcc...not found
Checking for program /opt/clmgr/bin/nvcc...not found
Checking for program /opt/sgi/sbin/nvcc...not found
Checking for program /opt/sgi/bin/nvcc...not found
Checking for program /usr/share/Modules/bin/nvcc...not found
Checking for program /usr/local/bin/nvcc...not found
Checking for program /usr/bin/nvcc...not found
Checking for program /usr/local/sbin/nvcc...not found
Checking for program /usr/sbin/nvcc...not found
Checking for program /opt/c3/bin/nvcc...not found
Checking for program /sbin/nvcc...not found
Checking for program /bin/nvcc...not found
Checking for program /opt/cray/pe/bin/nvcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/gmsh//bin/nvcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/nvcc...not found
Checking for program /Developer/NVIDIA/CUDA-6.5/bin/nvcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/nvcc...not found
Unable to find programs: ['nvcc'] in listing of the specific search path: ['/Developer/NVIDIA/CUDA-6.5/bin']
Warning accessing /Developer/NVIDIA/CUDA-6.5/bin gives errors: [Errno 2] No such file or directory: '/Developer/NVIDIA/CUDA-6.5/bin'
Checking for program /usr/local/cuda/bin/nvcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/nvcc...not found
Unable to find programs: ['nvcc'] in listing of the specific search path: ['/usr/local/cuda/bin']
Warning accessing /usr/local/cuda/bin gives errors: [Errno 2] No such file or directory: '/usr/local/cuda/bin'
Checking for program /opt/cray/pe/gcc/12.2.0/bin/clang...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/clang...not found
Checking for program /home/p_mvgkm/.local/bin/clang...not found
Checking for program /home/p_mvgkm/bin/clang...not found
Checking for program /opt/software/packages/sbank/bin/clang...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/clang...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/clang...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/clang...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/clang...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/clang...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/clang...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/clang...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/clang...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/clang...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/clang...not found
Checking for program /opt/clmgr/sbin/clang...not found
Checking for program /opt/clmgr/bin/clang...not found
Checking for program /opt/sgi/sbin/clang...not found
Checking for program /opt/sgi/bin/clang...not found
Checking for program /usr/share/Modules/bin/clang...not found
Checking for program /usr/local/bin/clang...not found
Checking for program /usr/bin/clang...not found
Checking for program /usr/local/sbin/clang...not found
Checking for program /usr/sbin/clang...not found
Checking for program /opt/c3/bin/clang...not found
Checking for program /sbin/clang...not found
Checking for program /bin/clang...not found
Checking for program /opt/cray/pe/bin/clang...not found
Checking for program /home/p_mvgkm/p_mvgopt02/gmsh//bin/clang...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/clang...not found
=============================================================================================
TESTING: checkDeviceHostCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:751)
Set the host compiler (HC) of the device compiler (DC) to the HC unless the DC already explicitly sets its HC. This may be needed if the default HC used by the DC is ancient and PETSc uses a different HC (e.g., through --with-cxx=...).
checkDeviceHostCompiler: checking CUDA accepts host compiler /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx
=============================================================================================
TESTING: checkHIPCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1566)
Locate a functional HIP compiler
Checking for program /opt/cray/pe/gcc/12.2.0/bin/hipcc...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/hipcc...not found
Checking for program /home/p_mvgkm/.local/bin/hipcc...not found
Checking for program /home/p_mvgkm/bin/hipcc...not found
Checking for program /opt/software/packages/sbank/bin/hipcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/hipcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/hipcc...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/hipcc...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/hipcc...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/hipcc...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/hipcc...not found
Checking for program /opt/clmgr/sbin/hipcc...not found
Checking for program /opt/clmgr/bin/hipcc...not found
Checking for program /opt/sgi/sbin/hipcc...not found
Checking for program /opt/sgi/bin/hipcc...not found
Checking for program /usr/share/Modules/bin/hipcc...not found
Checking for program /usr/local/bin/hipcc...not found
Checking for program /usr/bin/hipcc...not found
Checking for program /usr/local/sbin/hipcc...not found
Checking for program /usr/sbin/hipcc...not found
Checking for program /opt/c3/bin/hipcc...not found
Checking for program /sbin/hipcc...not found
Checking for program /bin/hipcc...not found
Checking for program /opt/cray/pe/bin/hipcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/gmsh//bin/hipcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/hipcc...not found
Checking for program /opt/cray/pe/gcc/12.2.0/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/opt/rocm/bin/hipcc...not found
Checking for program /home/p_mvgkm/.local/bin/opt/rocm/bin/hipcc...not found
Checking for program /home/p_mvgkm/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/software/packages/sbank/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/cross/x86_64-aarch64/aarch64-linux-gnu/../bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/utils/x86_64/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/cce/16.0.1/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/perftools/23.09.0/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/papi/7.0.1.1/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/libfabric/1.15.2.0/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/clmgr/sbin/opt/rocm/bin/hipcc...not found
Checking for program /opt/clmgr/bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/sgi/sbin/opt/rocm/bin/hipcc...not found
Checking for program /opt/sgi/bin/opt/rocm/bin/hipcc...not found
Checking for program /usr/share/Modules/bin/opt/rocm/bin/hipcc...not found
Checking for program /usr/local/bin/opt/rocm/bin/hipcc...not found
Checking for program /usr/bin/opt/rocm/bin/hipcc...not found
Checking for program /usr/local/sbin/opt/rocm/bin/hipcc...not found
Checking for program /usr/sbin/opt/rocm/bin/hipcc...not found
Checking for program /opt/c3/bin/opt/rocm/bin/hipcc...not found
Checking for program /sbin/opt/rocm/bin/hipcc...not found
Checking for program /bin/opt/rocm/bin/hipcc...not found
Checking for program /opt/cray/pe/bin/opt/rocm/bin/hipcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/gmsh//bin/opt/rocm/bin/hipcc...not found
Checking for program /home/p_mvgkm/p_mvgopt02/FreeFem/petsc/lib/petsc/bin/win32fe/opt/rocm/bin/hipcc...not found
=============================================================================================
TESTING: checkDeviceHostCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:751)
Set the host compiler (HC) of the device compiler (DC) to the HC unless the DC already explicitly sets its HC. This may be needed if the default HC used by the DC is ancient and PETSc uses a different HC (e.g., through --with-cxx=...).
=============================================================================================
TESTING: checkSYCLCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1625)
Locate a functional SYCL compiler
=============================================================================================
TESTING: checkDeviceHostCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:751)
Set the host compiler (HC) of the device compiler (DC) to the HC unless the DC already explicitly sets its HC. This may be needed if the default HC used by the DC is ancient and PETSc uses a different HC (e.g., through --with-cxx=...).
=============================================================================================
TESTING: checkFortranCompiler from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:1878)
Locate a functional Fortran compiler
=============================================================================================
TESTING: checkLargeFileIO from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2105)
check for large file support with 64-bit offset
=============================================================================================
TESTING: checkArchiver from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2198)
Check that the archiver exists and can make a library usable by the compiler
Detected Non-Windows compiler
Executing: ar -V
stdout:
GNU ar (GNU Binutils) 2.40
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
Executing: ar -V
stdout:
GNU ar (GNU Binutils) 2.40
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
Defined make macro "FAST_AR_FLAGS" to "Scq"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int foo(int a) {
return a+1;
}
Checking for program /opt/cray/pe/gcc/12.2.0/bin/ar...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/ar...not found
Checking for program /home/p_mvgkm/.local/bin/ar...not found
Checking for program /home/p_mvgkm/bin/ar...not found
Checking for program /opt/software/packages/sbank/bin/ar...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/ar...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/ar...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/ar...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar...found
Defined make macro "AR" to "/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar"
Checking for program /opt/cray/pe/gcc/12.2.0/bin/ranlib...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/ranlib...not found
Checking for program /home/p_mvgkm/.local/bin/ranlib...not found
Checking for program /home/p_mvgkm/bin/ranlib...not found
Checking for program /opt/software/packages/sbank/bin/ranlib...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/ranlib...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/ranlib...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/ranlib...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib...found
Defined make macro "RANLIB" to "/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib -c"
Executing: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar cr /tmp/petsc-z1ne2ek_/config.setCompilers/libconf1.a /tmp/petsc-z1ne2ek_/config.setCompilers/conf1.o
Executing: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib -c /tmp/petsc-z1ne2ek_/config.setCompilers/libconf1.a
stdout: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib: invalid option -- 'c'
Possible ERROR while running ranlib:exit code 0
stderr:
/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib: invalid option -- 'c'
Ranlib is not functional with your archiver. Try --with-ranlib=true if ranlib is unnecessary.
Executing: ar -V
stdout:
GNU ar (GNU Binutils) 2.40
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
Executing: ar -V
stdout:
GNU ar (GNU Binutils) 2.40
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
Defined make macro "FAST_AR_FLAGS" to "Scq"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int foo(int a) {
return a+1;
}
Checking for program /opt/cray/pe/gcc/12.2.0/bin/ar...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/ar...not found
Checking for program /home/p_mvgkm/.local/bin/ar...not found
Checking for program /home/p_mvgkm/bin/ar...not found
Checking for program /opt/software/packages/sbank/bin/ar...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/ar...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/ar...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/ar...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar...found
Defined make macro "AR" to "/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar"
Checking for program /opt/cray/pe/gcc/12.2.0/bin/ranlib...not found
Checking for program /opt/cray/pe/python/3.10.10/bin/ranlib...not found
Checking for program /home/p_mvgkm/.local/bin/ranlib...not found
Checking for program /home/p_mvgkm/bin/ranlib...not found
Checking for program /opt/software/packages/sbank/bin/ranlib...not found
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/ranlib...not found
Checking for program /opt/cray/pe/mpich/8.1.27/bin/ranlib...not found
Checking for program /opt/cray/pe/craype/2.7.23/bin/ranlib...not found
Checking for program /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib...found
Defined make macro "RANLIB" to "/opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib"
Executing: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar cr /tmp/petsc-z1ne2ek_/config.setCompilers/libconf1.a /tmp/petsc-z1ne2ek_/config.setCompilers/conf1.o
Executing: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ranlib /tmp/petsc-z1ne2ek_/config.setCompilers/libconf1.a
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
extern int foo(int);
int main(void) {
int b = foo(1); (void)b;
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -L/tmp/petsc-z1ne2ek_/config.setCompilers -lconf1
Defined make macro "AR_FLAGS" to "cr"
Defined make macro "AR_LIB_SUFFIX" to "a"
=============================================================================================
TESTING: checkArchiverRecipeArgfile from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2270)
Checks if AR handles @ notation
Executing: /opt/cray/pe/cce/16.0.1/binutils/x86_64/x86_64-pc-linux-gnu/bin/ar cr checkRecipeArgfile.a @checkRecipeArgfile.args
Defined make macro "AR_ARGFILE" to "yes"
=============================================================================================
TESTING: checkSharedLinker from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2352)
Check that the linker can produce shared libraries
Checking shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc...found
Defined make macro "LD_SHARED" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -qversion
stdout: clang-16: error: unknown argument '-qversion'; did you mean '--version'?
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -show
stdout: craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Trying C compiler flag -PIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -PIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -PIC
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -PIC due to nonzero status from link
Rejected C compiler flag -PIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Trying C compiler flag -qPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -qPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -qPIC
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -qPIC due to nonzero status from link
Rejected C compiler flag -qPIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Trying C compiler flag -KPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -KPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -KPIC
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -KPIC due to nonzero status from link
Rejected C compiler flag -KPIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Trying C compiler flag -fPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC
Added C compiler flag -fPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -qmkshrobj -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout: clang-16: error: unknown argument: '-qmkshrobj'
Possible ERROR while running linker: exit code 1
stderr:
clang-16: error: unknown argument: '-qmkshrobj'
Rejecting linker flag -qmkshrobj due to nonzero status from link
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int (*fprintf_ptr)(FILE*,const char*,...) = fprintf;
int foo(void){
fprintf_ptr(stdout,"hello");
return 0;
}
void bar(void){foo();}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Rejected C compiler flag -fPIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Trying C compiler flag -fpic
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fpic /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fpic
Added C compiler flag -fpic
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fpic /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -qmkshrobj -fpic /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout: clang-16: error: unknown argument: '-qmkshrobj'
Possible ERROR while running linker: exit code 1
stderr:
clang-16: error: unknown argument: '-qmkshrobj'
Rejecting linker flag -qmkshrobj due to nonzero status from link
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fpic /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int (*fprintf_ptr)(FILE*,const char*,...) = fprintf;
int foo(void){
fprintf_ptr(stdout,"hello");
return 0;
}
void bar(void){foo();}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -fpic /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Rejected C compiler flag -fpic because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Trying C compiler flag
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -qmkshrobj /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout: clang-16: error: unknown argument: '-qmkshrobj'
Possible ERROR while running linker: exit code 1
stderr:
clang-16: error: unknown argument: '-qmkshrobj'
Rejecting linker flag -qmkshrobj due to nonzero status from link
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int (*fprintf_ptr)(FILE*,const char*,...) = fprintf;
int foo(void){
fprintf_ptr(stdout,"hello");
return 0;
}
void bar(void){foo();}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
stdout:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: undefined symbol: main
>>> referenced by /lib/../lib64/crt1.o:(_start)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Rejected C compiler flag because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-qmkshrobj']
Deleting "LD_SHARED"
Checking shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-shared']
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc...found
Defined make macro "LD_SHARED" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -qversion
stdout: clang-16: error: unknown argument '-qversion'; did you mean '--version'?
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -show
stdout: craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Trying C compiler flag -PIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -PIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -PIC
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -PIC due to nonzero status from link
Rejected C compiler flag -PIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-shared']
Trying C compiler flag -qPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -qPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -qPIC
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -qPIC due to nonzero status from link
Rejected C compiler flag -qPIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-shared']
Trying C compiler flag -KPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -KPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -KPIC
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -KPIC due to nonzero status from link
Rejected C compiler flag -KPIC because it was not compatible with shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-shared']
Trying C compiler flag -fPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC
Added C compiler flag -fPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Valid C linker flag -shared
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int (*fprintf_ptr)(FILE*,const char*,...) = fprintf;
int foo(void){
fprintf_ptr(stdout,"hello");
return 0;
}
void bar(void){foo();}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int foo(void);
int main(void) {
int ret = foo();
if (ret) {}
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -L/tmp/petsc-z1ne2ek_/config.setCompilers -lconftest
Using shared linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc with flags ['-shared'] and library extension so
=============================================================================================
TESTING: checkPIC from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2055)
Determine the PIC option for each compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -qversion
stdout: clang-16: error: unknown argument '-qversion'; did you mean '--version'?
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -show
stdout: crayCC -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Trying Cxx compiler flag -PIC for PIC code
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -PIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
stdout: clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -std=gnu++20 -PIC
clang-16: error: unknown argument '-PIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -PIC due to nonzero status from link
Rejected Cxx compiler flag -PIC because shared linker cannot handle it
Trying Cxx compiler flag -qPIC for PIC code
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -qPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
stdout: clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -std=gnu++20 -qPIC
clang-16: error: unknown argument '-qPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -qPIC due to nonzero status from link
Rejected Cxx compiler flag -qPIC because shared linker cannot handle it
Trying Cxx compiler flag -KPIC for PIC code
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -KPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
stdout: clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -std=gnu++20 -KPIC
clang-16: error: unknown argument '-KPIC'; did you mean '-fPIC'?
PETSc Error: No output file produced
Rejecting compiler flag -KPIC due to nonzero status from link
Rejected Cxx compiler flag -KPIC because shared linker cannot handle it
Trying Cxx compiler flag -fPIC for PIC code
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -std=gnu++20 -fPIC
Added Cxx compiler flag -fPIC
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int (*fprintf_ptr)(FILE*,const char*,...) = fprintf;
int foo(void){
fprintf_ptr(stdout,"hello");
return 0;
}
void bar(void){foo();}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Accepted Cxx compiler flag -fPIC for PIC code
=============================================================================================
TESTING: checkSharedLinkerPaths from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2466)
Determine the shared linker path options
- IRIX: -rpath
- Linux, OSF: -Wl,-rpath,
- Solaris: -R
- FreeBSD: -Wl,-R,
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -V
stdout: clang-16: error: unsupported option '-V -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include'
Trying C linker flag -Wl,-rpath,
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -Wl,-rpath,/project/p_mvgopt02/FreeFem/petsc -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Valid C linker flag -Wl,-rpath,/project/p_mvgopt02/FreeFem/petsc
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -V
stdout: clang-16: error: unsupported option '-V -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include'
Trying Cxx linker flag -Wl,-rpath,
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -std=gnu++20 -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -Wl,-rpath,/project/p_mvgopt02/FreeFem/petsc /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Valid Cxx linker flag -Wl,-rpath,/project/p_mvgopt02/FreeFem/petsc
=============================================================================================
TESTING: checkLibC from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2505)
Test whether we need to explicitly include libc in shared linking
- Mac OSX requires an explicit reference to libc for shared linking
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdlib.h>
int foo(void) {void *chunk = malloc(31); free(chunk); return 0;}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o
Shared linking does not require an explicit libc reference
=============================================================================================
TESTING: checkDynamicLinker from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2551)
Check that the linker can dynamically load shared libraries
Checking for header: dlfcn.h
Preprocessing source:
#include "confdefs.h"
#include "conffix.h"
#include <dlfcn.h>
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -E -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.headers /tmp/petsc-z1ne2ek_/config.headers/conftest.c
Preprocess output before filtering:
Preprocess output after filtering:
Defined "HAVE_DLFCN_H" to "1"
Checking for functions [dlopen dlsym dlclose] in library [''] []
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.libraries/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.libraries/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
/* Override any gcc2 internal prototype to avoid an error. */
char dlopen();
static void _check_dlopen() { dlopen(); }
char dlsym();
static void _check_dlsym() { dlsym(); }
char dlclose();
static void _check_dlclose() { dlclose(); }
int main(void) {
_check_dlopen();
_check_dlsym();
_check_dlclose();
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.libraries/conftest -fPIC /tmp/petsc-z1ne2ek_/config.libraries/conftest.o
stdout:
ld.lld: error: undefined symbol: dlopen
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlopen)
ld.lld: error: undefined symbol: dlsym
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlsym)
ld.lld: error: undefined symbol: dlclose
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlclose)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Possible ERROR while running linker: exit code 1
stderr:
ld.lld: error: undefined symbol: dlopen
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlopen)
ld.lld: error: undefined symbol: dlsym
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlsym)
ld.lld: error: undefined symbol: dlclose
>>> referenced by conftest.c
>>> /tmp/petsc-z1ne2ek_/config.libraries/conftest.o:(_check_dlclose)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Checking for functions [dlopen dlsym dlclose] in library ['dl'] []
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.libraries/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.libraries/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
/* Override any gcc2 internal prototype to avoid an error. */
char dlopen();
static void _check_dlopen() { dlopen(); }
char dlsym();
static void _check_dlsym() { dlsym(); }
char dlclose();
static void _check_dlclose() { dlclose(); }
int main(void) {
_check_dlopen();
_check_dlsym();
_check_dlclose();
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.libraries/conftest -fPIC /tmp/petsc-z1ne2ek_/config.libraries/conftest.o -ldl
Adding ['dl'] to LIBS
Checking dynamic linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc using flags ['-shared']
Checking for program /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc...found
Defined make macro "DYNAMICLINKER" to "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -ldl
Valid C linker flag -shared
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <stdio.h>
int foo(void) {printf("test");return 0;}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so -shared -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -ldl
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#include <dlfcn.h>
#include <stdio.h>
int main(void) {
void *handle = dlopen("/tmp/petsc-z1ne2ek_/config.setCompilers/libconftest.so", 0);
int (*foo)(void) = (int (*)(void)) dlsym(handle, "foo");
if (!foo) {
printf("Could not load symbol\n");
return -1;
}
if ((*foo)()) {
printf("Invalid return from foo()\n");
return -1;
}
if (dlclose(handle)) {
printf("Could not close library\n");
return -1;
}
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -ldl
Using dynamic linker /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc with flags ['-shared'] and library extension so
=============================================================================================
TESTING: checkPragma from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2013)
Check for all available applicable languages whether they complain (including warnings!) about potentially unknown pragmas
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wunknown-pragmas /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wunknown-pragmas
Added C compiler flag -Wunknown-pragmas
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wunknown-pragmas /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#pragma GCC poison TEST
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -Wunknown-pragmas -std=gnu++20 -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -Wunknown-pragmas
Added Cxx compiler flag -Wunknown-pragmas
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -Wunknown-pragmas -std=gnu++20 -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.cc
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
#pragma GCC poison TEST
int main(void) {
return 0;
}
=============================================================================================
TESTING: checkAtFileOption from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2743)
Check if linker supports @file option
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest @/tmp/petsc-z1ne2ek_/config.setCompilers/optfile -fPIC /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -ldl
Valid C linker flag @/tmp/petsc-z1ne2ek_/config.setCompilers/optfile
Defined make macro "PCC_AT_FILE" to "1"
=============================================================================================
TESTING: output from config.setCompilers(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/setCompilers.py:2600)
Output module data as defines and substitutions
Substituting "CC" with "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc"
Substituting "CFLAGS" with " -fPIC"
Defined make macro "CC_LINKER_SLFLAG" to "-Wl,-rpath,"
Substituting "CPP" with "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -E"
Substituting "CPPFLAGS" with ""
Substituting "CXX" with "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx"
Substituting "CXX_CXXFLAGS" with " -std=gnu++20 -fPIC"
Substituting "CXXFLAGS" with ""
Substituting "CXX_LINKER_SLFLAG" with "-Wl,-rpath,"
Substituting "CXXPP" with "/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -E"
Substituting "CXXPPFLAGS" with ""
Substituting "FC" with ""
Substituting "LDFLAGS" with ""
Substituting "LIBS" with "-ldl "
Substituting "SHARED_LIBRARY_FLAG" with "-shared"
child config.setCompilers took 9.534884 seconds
=============================================================================================
TESTING: configureIndexSize from PETSc.options.indexTypes(/project/p_mvgopt02/FreeFem/petsc/config/PETSc/options/indexTypes.py:38)
Determine the size of PETSc indices (32 or 64-bit), from -with-64-bit-indices
Defined make macro "PETSC_INDEX_SIZE" to "32"
child PETSc.options.indexTypes took 0.004174 seconds
=============================================================================================
TESTING: configureCompilerFlags from config.compilerFlags(/project/p_mvgopt02/FreeFem/petsc/config/BuildSystem/config/compilerFlags.py:82)
Get the default compiler flags
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
getCompilerVersion: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Defined make macro "C_VERSION" to "Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -show
stdout: craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Defined make macro "MPICC_SHOW" to "craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 500
Detected CLANG compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Did not detect Gcc110plus compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 500
Detected CLANG compiler
Trying C compiler flag -Wall
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall
Added C compiler flag -Wall
Trying C compiler flag -Wwrite-strings
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings
Added C compiler flag -Wwrite-strings
Trying C compiler flag -Wno-unknown-pragmas
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas
Added C compiler flag -Wno-unknown-pragmas
Trying C compiler flag -Wno-lto-type-mismatch
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wno-lto-type-mismatch /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout:
warning: unknown warning option '-Wno-lto-type-mismatch'; did you mean '-Wno-selector-type-mismatch'? [-Wunknown-warning-option]
1 warning generated.
Possible ERROR while running compiler:exit code 0
stderr:
warning: unknown warning option '-Wno-lto-type-mismatch'; did you mean '-Wno-selector-type-mismatch'? [-Wunknown-warning-option]
1 warning generated.
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -Wno-lto-type-mismatch
warning: unknown warning option '-Wno-lto-type-mismatch'; did you mean '-Wno-selector-type-mismatch'? [-Wunknown-warning-option]
1 warning generated.
Rejecting compiler flag -Wno-lto-type-mismatch due to
warning: unknown warning option '-Wno-lto-type-mismatch'; did you mean '-Wno-selector-type-mismatch'? [-Wunknown-warning-option]
1 warning generated.
Rejected C compiler flag -Wno-lto-type-mismatch
Trying C compiler flag -fstack-protector
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector
Added C compiler flag -fstack-protector
Trying C compiler flag -mfp16-format=ieee
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -mfp16-format=ieee /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
stdout: clang-16: error: unknown argument: '-mfp16-format=ieee'
Possible ERROR while running compiler: exit code 1
stderr:
clang-16: error: unknown argument: '-mfp16-format=ieee'
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -mfp16-format=ieee
clang-16: error: unknown argument: '-mfp16-format=ieee'
PETSc Error: No output file produced
Rejecting compiler flag -mfp16-format=ieee due to nonzero status from link
Rejected C compiler flag -mfp16-format=ieee
Trying C compiler flag -Qunused-arguments
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments
Added C compiler flag -Qunused-arguments
Trying C compiler flag -fvisibility=hidden
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden
Added C compiler flag -fvisibility=hidden
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -show
stdout: craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Defined make macro "MPICC_SHOW" to "craycc -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 500
Detected CLANG compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc --help | head -n 500
Detected CLANG compiler
=============================================================================================
***** WARNING *****
Using default C optimization flags "-g -O3". You might consider manually setting optimal
optimization flags for your system with COPTFLAGS="optimization flags" see
config/examples/arch-*-opt.py for examples
=============================================================================================
Trying C compiler flag -g
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden -g /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden -g
Added C compiler flag -g
Trying C compiler flag -O3
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicc -c -o /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.o -I/tmp/petsc-z1ne2ek_/config.setCompilers -I/tmp/petsc-z1ne2ek_/config.libraries -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden -g -O3 /tmp/petsc-z1ne2ek_/config.setCompilers/conftest.c
Successful compile:
Source:
#include "confdefs.h"
#include "conffix.h"
int main(void) {
return 0;
}
Output from compiling with -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas -fstack-protector -Qunused-arguments -fvisibility=hidden -g -O3
Added C compiler flag -O3
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
getCompilerVersion: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Defined make macro "Cxx_VERSION" to "Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx -show
stdout: crayCC -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray
Defined make macro "MPICXX_SHOW" to "crayCC -I/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/include -L/opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/lib -lmpi_cray"
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fnew-alignment=<align> Specifies the largest alignment guaranteed by '::operator new(size_t)'
-fnew-infallible Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-aapcs-bitfield-width
Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-fno-access-control Disable C++ access control
-fno-addrsig Don't emit an address-significance table
-fno-assume-sane-operator-new
Don't assume that C++'s global operator new can't alias any pointer
-fno-autolink Disable generation of linker directives for automatic library linking
-fno-builtin-<value> Disable implicit builtin knowledge of a specific function
-fno-builtin Disable implicit builtin knowledge of functions
-fno-c++-static-destructors
Disable C++ static destructor registration
-fno-char8_t Disable C++ builtin type char8_t
-fno-color-diagnostics Disable colors in diagnostics
-fno-common Compile common globals like normal definitions
-fno-complete-member-pointers
Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings
-fno-coverage-mapping Disable code coverage analysis
-fno-crash-diagnostics Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash
-fno-cray-mallopt [Cray] Use the system default mallopt parameters
-fno-cray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fno-cray [Cray] Disable default Cray enhancements
-fno-cuda-approx-transcendentals
Don't use approximate transcendental functions
-fno-cxx-modules Disable modules for C++
-fno-debug-macro Do not emit macro debug information
-fno-declspec Disallow __declspec as a keyword
-fno-delayed-template-parsing
Disable delayed template parsing
-fno-delete-null-pointer-checks
Do not treat usage of null pointers as undefined behavior
-fno-diagnostics-fixit-info
Do not include fixit information in diagnostics
-fno-digraphs Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'
-fno-direct-access-external-data
Use GOT indirection to reference external data symbols
-fno-discard-value-names
Do not discard value names in LLVM IR
-fno-dollars-in-identifiers
Disallow '$' in identifiers
-fno-double-square-bracket-attributes
Disable '[[]]' attributes in all C and C++ language modes
-fno-elide-constructors Disable C++ copy constructor elision
-fno-elide-type Do not elide types when printing diagnostics
-fno-eliminate-unused-debug-types
Emit debug info for defined but unused types
-fno-exceptions Disable support for exception handling
-fno-experimental-relative-c++-abi-vtables
Do not use the experimental C++ class ABI for classes with virtual tables
-fno-experimental-sanitize-metadata=<value>
Disable emitting metadata for binary analysis sanitizers
-fno-file-reproducible Use the host's platform-specific path separator character when expanding the __FILE__ macro
-fno-fine-grained-bitfield-accesses
Use large-integer access for consecutive bitfield runs.
-fno-finite-loops Do not assume that any loop is finite.
-fno-fixed-point Disable fixed point types
-fno-fma<value> [Cray] Do not attempt to fuse FP ops
-fno-force-enable-int128
Disable support for int128_t type
-fno-fortran Disable 'fortran' function specifier keyword
-fno-global-isel Disables the global instruction selector
-fno-gnu-inline-asm Disable GNU style inline asm
-fno-gpu-allow-device-init
Don't allow device side init function in HIP (experimental)
-fno-gpu-defer-diag Don't defer host/device related diagnostic messages for CUDA/HIP
-fno-hip-fp32-correctly-rounded-divide-sqrt
Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fno-hip-kernel-arg-name
Don't specify that kernel argument names are preserved (HIP only)
-fno-hip-new-launch-api Don't use new kernel launching API for HIP
-fno-instrument-openmp [Cray] Do not instrument OpenMP constructs for consumption by CrayPAT
-fno-integrated-as Disable the integrated assembler
-fno-integrated-cc1 Spawn a separate process for each cc1
-fno-integrated-objemitter
Use external machine object code emitter.
-fno-ivdep [Cray] Disable ivdep pragma
-fno-jump-tables Do not use jump tables for lowering switches
-fno-keep-static-consts Don't keep static const variables if unused
-fno-knr-functions Disable support for K&R C function declarations
-fno-local-restrict [Cray] Ignore the 'restrict' keyword within block scope
-fno-lto Disable LTO mode (default)
-fno-memory-profile Disable heap memory profiling
-fno-merge-all-constants
Disallow merging of constants
-fno-modules-validate-textual-header-includes
Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.
-fno-new-infallible Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.
-fno-objc-infer-related-result-type
do not infer Objective-C related result type based on method family
-fno-offload-lto Disable LTO mode (default) for offload compilation
-fno-openmp-extensions Disable all Clang extensions for OpenMP directives and clauses
-fno-operator-names Do not treat C++ operator name keywords as synonyms for operators
-fno-optimize-sibling-calls
Disable tail call optimization, keeping the call stack accurate
-fno-pch-codegen Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fno-pch-debuginfo Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fno-plt Use GOT indirection instead of PLT to make external function calls (x86 only)
-fno-preserve-as-comments
Do not preserve comments in inline assembly
-fno-profile-generate Disable generation of profile instrumentation.
-fno-profile-instr-generate
Disable generation of profile instrumentation.
-fno-profile-instr-use Disable using instrumentation data for profile-guided optimization
-fno-pseudo-probe-for-profiling
Do not emit pseudo probes for sample profiling
-fno-register-global-dtors-with-atexit
Don't use atexit or __cxa_atexit to register global destructors
-fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags
-fno-rtti-data Disable generation of RTTI data
-fno-rtti Disable generation of rtti information
-fno-sanitize-address-globals-dead-stripping
Disable linker dead stripping of globals in AddressSanitizer
-fno-sanitize-address-outline-instrumentation
Use default code inlining logic for the address sanitizer
-fno-sanitize-address-poison-custom-array-cookie
Disable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fno-sanitize-address-use-after-scope
Disable use-after-scope detection in AddressSanitizer
-fno-sanitize-address-use-odr-indicator
Disable ODR indicator globals
-fno-sanitize-cfi-canonical-jump-tables
Do not make the jump table addresses canonical in the symbol table
-fno-sanitize-cfi-cross-dso
Disable control flow integrity (CFI) checks for cross-DSO calls.
-fno-sanitize-coverage=<value>
Disable features of coverage instrumentation for Sanitizers
-fno-sanitize-hwaddress-experimental-aliasing
Disable aliasing mode in HWAddressSanitizer
-fno-sanitize-ignorelist
Don't use ignorelist file for sanitizers
-fno-sanitize-memory-param-retval
Disable detection of uninitialized parameters and return values
-fno-sanitize-memory-track-origins
Disable origins tracking in MemorySanitizer
-fno-sanitize-memory-use-after-dtor
Disable use-after-destroy detection in MemorySanitizer
-fno-sanitize-recover=<value>
Disable recovery for specified sanitizers
-fno-sanitize-stats Disable sanitizer statistics gathering.
-fno-sanitize-thread-atomics
Disable atomic operations instrumentation in ThreadSanitizer
-fno-sanitize-thread-func-entry-exit
Disable function entry/exit instrumentation in ThreadSanitizer
-fno-sanitize-thread-memory-access
Disable memory access instrumentation in ThreadSanitizer
-fno-sanitize-trap=<value>
Disable trapping for specified sanitizers
-fno-sanitize-trap Disable trapping for all sanitizers
-fno-short-wchar Force wchar_t to be an unsigned int
-fno-show-column Do not include column number on diagnostics
-fno-show-source-location
Do not include source location information with diagnostics
-fno-signed-char char is unsigned
-fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-fno-spell-checking Disable spell-checking
-fno-split-machine-functions
Disable late function splitting using profile information (x86 ELF)
-fno-split-stack Wouldn't use segmented stack
-fno-stack-clash-protection
Disable stack clash protection
-fno-stack-protector Disable the use of stack protectors
-fno-standalone-debug Limit debug information produced to reduce size of debug binary
-fno-strict-float-cast-overflow
Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions
-fno-strict-return Don't treat control flow paths that fall off the end of a non-void function as unreachable
-fno-sycl Disables SYCL kernels compilation for device
-fno-temp-file Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes
-fno-threadsafe-statics Do not emit code to make initialization of local statics thread safe
-fno-trigraphs Do not process trigraph sequences
-fno-unique-section-names
Don't use unique names for text and data sections
-fno-unroll-loops Turn off loop unroller
-fno-upc-auto-amo [Cray] Do not automatically use network atomics for remote updates (e.g., +=)
-fno-upc-buffered-async [Cray] Disable use of the buffered_async pragma
-fno-upc-pattern [Cray] Do not aggregate remote accesses within simple communication loops
-fno-use-cxa-atexit Don't use __cxa_atexit for calling destructors
-fno-use-init-array Use .ctors/.dtors instead of .init_array/.fini_array
-fno-visibility-inlines-hidden-static-local-var
Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)
-fno-xray-function-index
Omit function index section at the expense of single-function patching performance
-fno-zero-initialized-in-bss
Don't place zero initialized data in BSS
-fobjc-arc-exceptions Use EH-safe code when synthesizing retains and releases in -fobjc-arc
-fobjc-arc Synthesize retain and release calls for Objective-C pointers
-fobjc-disable-direct-methods-for-testing
Ignore attribute objc_direct so that direct methods can be tested
-fobjc-encode-cxx-class-template-spec
Fully encode c++ class template specialization
-fobjc-exceptions Enable Objective-C exceptions
-fobjc-runtime=<value> Specify the target Objective-C runtime kind and version
-fobjc-weak Enable ARC-style weak references in Objective-C
-foffload-lto=<value> Set LTO mode for offload compilation
-foffload-lto Enable LTO in 'full' mode for offload compilation
-fopenmp-extensions Enable all Clang extensions for OpenMP directives and clauses
-fopenmp-implicit-rpath Set rpath on OpenMP executables
-fopenmp-offload-mandatory
Do not create a host fallback if offloading to the device fails.
-fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
-fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-fopenmp-target-jit Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full
-fopenmp-targets=<value>
Specify comma-separated list of triples OpenMP offloading targets to be supported
-fopenmp-version=<value>
Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.
-fopenmp Parse OpenMP pragmas and generate parallel code.
-foptimization-record-file=<file>
Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-foptimization-record-passes=<regex>
Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-forder-file-instrumentation
Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fpack-struct=<value> Specify the default maximum struct packing alignment
-fpascal-strings Recognize and construct Pascal-style string literals
-fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-fpatchable-function-entry=<N,M>
Generate M NOPs before function entry and N-M NOPs after function entry
-fpcc-struct-return Override the default ABI to return all structs on the stack
-fpch-codegen Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH
-fpch-debuginfo Generate debug info for types in an object file built from this PCH and do not generate them elsewhere
-fpch-instantiate-templates
Instantiate templates already while building a PCH
-fpch-validate-input-files-content
Validate PCH input files based on content if mtime differs
-fplugin-arg-<name>-<arg>
Pass <arg> to plugin <name>
-fplugin=<dsopath> Load the named plugin (dynamic shared object)
-fprebuilt-implicit-modules
Look up implicit modules in the prebuilt module path
-fprebuilt-module-path=<directory>
Specify the prebuilt module path
-fproc-stat-report=<value>
Save subprocess statistics to the given file
-fproc-stat-report<value>
Print subprocess statistics
-fprofile-exclude-files=<value>
Instrument only functions from files where names don't match all the regexes separated by a semi-colon
-fprofile-filter-files=<value>
Instrument only functions from files where names match any regex separated by a semi-colon
-fprofile-function-groups=<N>
Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group
-fprofile-generate=<directory>
Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-generate Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate=<file>
Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)
-fprofile-instr-generate
Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)
-fprofile-instr-use=<value>
Use instrumentation data for profile-guided optimization
-fprofile-list=<value> Filename defining the list of functions/files to instrument
-fprofile-remapping-file=<file>
Use the remappings described in <file> to match the profile data against names in the program
-fprofile-sample-accurate
Specifies that the sample profile is accurate
-fprofile-sample-use=<value>
Enable sample-based profile guided optimizations
-fprofile-selected-function-group=<i>
Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive
-fprofile-update=<method>
Set update method of profile counters
-fprofile-use=<pathname>
Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
-fprotect-parens Determines whether the optimizer honors parentheses when floating-point expressions are evaluated
-fpseudo-probe-for-profiling
Emit pseudo probes for sample profiling
-frandomize-layout-seed-file=<file>
File holding the seed used by the randomize structure layout feature
-frandomize-layout-seed=<seed>
The seed used by the randomize structure layout feature
-freciprocal-math Allow division operations to be reassociated
-freg-struct-return Override the default ABI to return small structs in registers
-fregister-global-dtors-with-atexit
Use atexit or __cxa_atexit to register global destructors
-frelaxed-template-template-args
Enable C++17 relaxed template template argument matching
-freroll-loops Turn on loop reroller
-fropi Generate read-only position independent code (ARM only)
-frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags
-frwpi Generate read-write position independent code (ARM only)
-fsample-profile-use-profi
Use profi to infer block and edge counts
-fsanitize-address-destructor=<value>
Set destructor type used in ASan instrumentation
-fsanitize-address-field-padding=<value>
Level of field padding for AddressSanitizer
-fsanitize-address-globals-dead-stripping
Enable linker dead stripping of globals in AddressSanitizer
-fsanitize-address-outline-instrumentation
Always generate function calls for address sanitizer instrumentation
-fsanitize-address-poison-custom-array-cookie
Enable poisoning array cookies when using custom operator new[] in AddressSanitizer
-fsanitize-address-use-after-return=<mode>
Select the mode of detecting stack use-after-return in AddressSanitizer
-fsanitize-address-use-after-scope
Enable use-after-scope detection in AddressSanitizer
-fsanitize-address-use-odr-indicator
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
-fsanitize-blacklist=<value>
Alias for -fsanitize-ignorelist=
-fsanitize-cfi-canonical-jump-tables
Make the jump table addresses canonical in the symbol table
-fsanitize-cfi-cross-dso
Enable control flow integrity (CFI) checks for cross-DSO calls.
-fsanitize-cfi-icall-generalize-pointers
Generalize pointers in CFI indirect call type signature checks
-fsanitize-coverage-allowlist=<value>
Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones
-fsanitize-coverage-ignorelist=<value>
Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones
-fsanitize-coverage=<value>
Specify the type of coverage instrumentation for Sanitizers
-fsanitize-hwaddress-abi=<value>
Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.
-fsanitize-hwaddress-experimental-aliasing
Enable aliasing mode in HWAddressSanitizer
-fsanitize-ignorelist=<value>
Path to ignorelist file for sanitizers
-fsanitize-memory-param-retval
Enable detection of uninitialized parameters and return values
-fsanitize-memory-track-origins=<value>
Enable origins tracking in MemorySanitizer
-fsanitize-memory-track-origins
Enable origins tracking in MemorySanitizer
-fsanitize-memory-use-after-dtor
Enable use-after-destroy detection in MemorySanitizer
-fsanitize-memtag-mode=<value>
Set default MTE mode to 'sync' (default) or 'async'
-fsanitize-recover=<value>
Enable recovery for specified sanitizers
-fsanitize-stats Enable sanitizer statistics gathering.
-fsanitize-system-blacklist=<value>
Alias for -fsanitize-system-ignorelist=
-fsanitize-system-ignorelist=<value>
Path to system ignorelist file for sanitizers
-fsanitize-thread-atomics
Enable atomic operations instrumentation in ThreadSanitizer (default)
-fsanitize-thread-func-entry-exit
Enable function entry/exit instrumentation in ThreadSanitizer (default)
-fsanitize-thread-memory-access
Enable memory access instrumentation in ThreadSanitizer (default)
-fsanitize-trap=<value> Enable trapping for specified sanitizers
-fsanitize-trap Enable trapping for all sanitizers
-fsanitize-undefined-strip-path-components=<number>
Strip (or keep only, if negative) a given number of path components when emitting check metadata.
-fsanitize=<check> Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
-fsave-decompile [Cray] Generate decompile and IR files prior to optimization, vectorization, and code generation
-fsave-loopmark [Cray] Generate a loopmark file
-fsave-optimization-record=<format>
Generate an optimization record file in a specific format
-fsave-optimization-record
Generate a YAML optimization record file
-fseh-exceptions Use SEH style exceptions
-fshort-enums Allocate to an enum type only as many bytes as it needs for the declared range of possible values
-fshort-wchar Force wchar_t to be a short unsigned int
-fshow-overloads=<value>
Which overload candidates to show when overload resolution fails. Defaults to 'all'
-fshow-skipped-includes Show skipped includes in -H output.
-fsigned-char char is signed
-fsized-deallocation Enable C++14 sized global deallocation functions
-fsjlj-exceptions Use SjLj style exceptions
-fslp-vectorize Enable the superword-level parallelism vectorization passes
-fsplit-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF
-fsplit-lto-unit Enables splitting of the LTO unit
-fsplit-machine-functions
Enable late function splitting using profile information (x86 ELF)
-fsplit-stack Use segmented stack
-fstack-clash-protection
Enable stack clash protection
-fstack-protector-all Enable stack protectors for all functions
-fstack-protector-strong
Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable
-fstack-protector Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.
-fstack-size-section Emit section containing metadata on function stack sizes
-fstack-usage Emit .su file containing information on function stack sizes
-fstandalone-debug Emit full debug info for all types used by the program
-fstrict-enums Enable optimizations based on the strict definition of an enum's value range
-fstrict-flex-arrays=<n>
Enable optimizations based on the strict definition of flexible arrays
-fstrict-float-cast-overflow
Assume that overflowing float-to-int casts are undefined (default)
-fstrict-vtable-pointers
Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
-fswift-async-fp=<option>
Control emission of Swift async extended frame info
-fsycl Enables SYCL kernels compilation for device
-fsyntax-only Run the preprocessor, parser and semantic analysis stages
-fsystem-module Build this module as a system module. Only used with -emit-module
-fthin-link-bitcode=<value>
Write minimized bitcode to <file> for the ThinLTO thin link only
-fthinlto-index=<value> Perform ThinLTO importing using provided function summary index
-ftime-report=<value> (For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation
-ftime-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
-ftime-trace=<value> Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file
-ftime-trace Turn on time profiler. Generates JSON file based on output filename.
-ftrap-function=<value> Issue call to specified function rather than a trap instruction
-ftrapv-handler=<function name>
Specify the function to be called on overflow
-ftrapv Trap on integer overflow
-ftrigraphs Process trigraph sequences
-ftrivial-auto-var-init-stop-after=<value>
Stop initializing trivial automatic stack variables after the specified number of instances
-ftrivial-auto-var-init=<value>
Initialize trivial automatic stack variables. Defaults to 'uninitialized'
-funinitialized-heap-floats=<value>
[Cray] Initialize uninitialized floating-point heap allocations to: uninitialized (default) | nan
-funinitialized-heap-ints=<value>
[Cray] Initialize uninitialized integer heap allocations to: uninitialized (default) | zero
-funinitialized-stack-floats=<value>
[Cray] Initialize uninitialized floating-point stack variables to: uninitialized (default) | nan
-funinitialized-stack-ints=<value>
[Cray] Initialize uninitialized integer stack variables to: uninitialized (default) | zero
-funinitialized-static-floats=<value>
[Cray] Initialize uninitialized static floating-point variables to: zero (default) | nan
-funique-basic-block-section-names
Use unique names for basic block sections (ELF Only)
-funique-internal-linkage-names
Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path
-funroll-loops Turn on loop unroller
-funsafe-math-optimizations
Allow unsafe floating-point math optimizations which may decrease precision
-fupc-auto-amo [Cray] Automatically use network atomics for remote updates (e.g., +=)
-fupc-buffered-async [Cray] Enable use of the buffered_async pragma
-fupc-pattern [Cray] Aggregate remote accesses within simple communication loops
-fupc-threads=<value> [Cray] Set the number of threads for a static THREADS translation
-fuse-cuid=<value> Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.
-fuse-line-directives Use #line in preprocessed output
-fvalidate-ast-input-files-content
Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical
-fveclib=<value> Use the given vector functions library
-fvectorize Enable the loop vectorization passes
-fverbose-asm Generate verbose assembly output
-fvirtual-function-elimination
Enables dead virtual function elimination optimization. Requires -flto=full
-fvisibility-dllexport=<value>
The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]
-fvisibility-externs-dllimport=<value>
The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]
-fvisibility-externs-nodllstorageclass=<value>
The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]
-fvisibility-from-dllstorageclass
Set the visibility of symbols in the generated code from their DLL storage class
-fvisibility-global-new-delete-hidden
Give global C++ operator new and delete declarations hidden visibility
-fvisibility-inlines-hidden-static-local-var
When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default
-fvisibility-inlines-hidden
Give inline C++ member functions hidden visibility by default
-fvisibility-ms-compat Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
-fvisibility-nodllstorageclass=<value>
The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]
-fvisibility=<value> Set the default symbol visibility for all global definitions
-fwasm-exceptions Use WebAssembly style exceptions
-fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto
-fwrapv Treat signed integer overflow as two's complement
-fwritable-strings Store string literals as writable data
-fxl-pragma-pack Enable IBM XL #pragma pack handling
-fxray-always-emit-customevents
Always emit __xray_customevent(...) calls even if the containing function is not always instrumented
-fxray-always-emit-typedevents
Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented
-fxray-always-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.
-fxray-attr-list=<value>
Filename defining the list of functions/types for imbuing XRay attributes.
-fxray-function-groups=<value>
Only instrument 1 of N groups
-fxray-ignore-loops Don't instrument functions with loops unless they also meet the minimum function size
-fxray-instruction-threshold=<value>
Sets the minimum function size to instrument with XRay
-fxray-instrumentation-bundle=<value>
Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'.
-fxray-instrument Generate XRay instrumentation sleds on function entry and exit
-fxray-link-deps Tells clang to add the link dependencies for XRay.
-fxray-modes=<value> List of modes to link in by default into XRay instrumented binaries.
-fxray-never-instrument=<value>
DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.
-fxray-selected-function-group=<value>
When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1
-fzero-call-used-regs=<value>
Clear call-used registers upon function return (AArch64/x86 only)
-fzvector Enable System z vector language extension
-F <value> Add directory to framework include search path
--gcc-install-dir=<value>
Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
--gcc-toolchain=<value> Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version
-gcodeview-command-line Emit compiler path and command line into CodeView debug information
-gcodeview-ghash Emit type record hashes in a .debug$H section
-gcodeview Generate CodeView debug information
-gdwarf-2 Generate source-level debug information with dwarf version 2
-gdwarf-3 Generate source-level debug information with dwarf version 3
-gdwarf-4 Generate source-level debug information with dwarf version 4
-gdwarf-5 Generate source-level debug information with dwarf version 5
-gdwarf32 Enables DWARF32 format for ELF binaries, if debug information emission is enabled.
-gdwarf64 Enables DWARF64 format for ELF binaries, if debug information emission is enabled.
-gdwarf Generate source-level debug information with the default dwarf version
-gembed-source Embed source text in DWARF debug sections
-gen-reproducer=<value> Emit reproducer on (option: off, crash (default), error, always)
-gheterogeneous-dwarf Enable DWARF extensions for heterogeneous debugging
-gline-directives-only Emit debug line info directives only
-gline-tables-only Emit debug line number tables only
-gmodules Generate debug info with external references to clang modules or precompiled headers
-gno-codeview-command-line
Don't emit compiler path and command line into CodeView debug information
-gno-embed-source Restore the default behavior of not embedding source text in DWARF debug sections
-gno-heterogeneous-dwarf
Disable DWARF extensions for heterogeneous debugging
-gno-inline-line-tables Don't emit inline line tables.
--gpu-bundle-output Bundle output files of HIP device compilation
--gpu-instrument-lib=<value>
Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit
--gpu-max-threads-per-block=<value>
Default max threads per block for kernel launch bounds for HIP
-gsplit-dwarf=<value> Set DWARF fission mode
-gz=<value> DWARF debug sections compression type
-G <size> Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
-g Generate source-level debug information
--help-hidden Display help for hidden options
-help Display available options
--hip-device-lib=<value>
HIP device library
--hip-link Link clang-offload-bundler bundles for HIP
--hip-path=<value> HIP runtime installation path, used for finding HIP version and adding HIP include path.
--hip-version=<value> HIP version in the format of major.minor.patch
--hipspv-pass-plugin=<dsopath>
path to a pass plugin for HIP to SPIR-V passes.
-H Show header includes and nesting depth
-h <value> [Cray] Set the driver mode (default|upc)
-I- Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
-ibuiltininc Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it
-idirafter <value> Add directory to AFTER include search path
-iframeworkwithsysroot <directory>
Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot
-iframework <value> Add directory to SYSTEM framework search path
-imacros <file> Include macros from file before parsing
-include-pch <file> Include precompiled header file
-include <file> Include file before parsing
-index-header-map Make the next included directory (-I or -F) an indexer header map
-iprefix <dir> Set the -iwithprefix/-iwithprefixbefore prefix
-iquote <directory> Add directory to QUOTE include search path
-isysroot <dir> Set the system root directory (usually /)
-isystem-after <directory>
Add directory to end of the SYSTEM include search path
-isystem <directory> Add directory to SYSTEM include search path
-ivfsoverlay <value> Overlay the virtual filesystem described by file over the real file system
-iwithprefixbefore <dir>
Set directory to include search path with prefix
-iwithprefix <dir> Set directory to SYSTEM include search path with prefix
-iwithsysroot <directory>
Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
-I <dir> Add directory to the end of the list of include search paths
--libomptarget-amdgcn-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-amdgpu-bc-path=<value>
Path to libomptarget-amdgcn bitcode library
--libomptarget-nvptx-bc-path=<value>
Path to libomptarget-nvptx bitcode library
-L <dir> Add directory to library search path
-mabi=quadword-atomics Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.
-mabi=vec-default Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.
-mabi=vec-extabi Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers
-mabicalls Enable SVR4-style position-independent code (Mips only)
-maix-struct-return Return all structs in memory (PPC32 only)
-malign-branch-boundary=<value>
Specify the boundary's size to align branches
-malign-branch=<value> Specify types of branches to align
-malign-double Align doubles to two words in structs (x86 only)
-mamdgpu-ieee Sets the IEEE bit in the expected default floating point mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)
-mbackchain Link stack frames through backchain on System Z
-mbranch-protection=<value>
Enforce targets of indirect branches and function returns
-mbranches-within-32B-boundaries
Align selected branches (fused, jcc, jmp) within 32-byte boundary
-mcabac Enable CABAC instructions
-mcmodel=medany Equivalent to -mcmodel=medium, compatible with RISC-V gcc.
-mcmodel=medlow Equivalent to -mcmodel=small, compatible with RISC-V gcc.
-mcmse Allow use of CMSE (Armv8-M Security Extensions)
-mcode-object-v3 Legacy option to specify code object ABI V3 (AMDGPU only)
-mcode-object-version=<value>
Specify code object ABI version. Defaults to 4. (AMDGPU only)
-mcrc Allow use of CRC instructions (ARM/Mips only)
-mcumode Specify CU wavefront execution mode (AMDGPU only)
-mdefault-visibility-export-mapping=<value>
Mapping between default visibility and export
-mdouble=<n Force double to be <n> bits
-MD Write a depfile containing user and system headers
-meabi <value> Set EABI type. Default depends on triple)
-membedded-data Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)
-menable-experimental-extensions
Enable use of experimental RISC-V extensions.
-mexec-model=<value> Execution model (WebAssembly only)
-mexecute-only Disallow generation of data access to code sections (ARM only)
-mextern-sdata Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mfentry Insert calls to fentry at function entry (x86/SystemZ only)
-mfix-cmse-cve-2021-35465
Work around VLLDM erratum CVE-2021-35465 (ARM only)
-mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)
-mfix-cortex-a57-aes-1742098
Work around Cortex-A57 Erratum 1742098 (ARM only)
-mfix-cortex-a72-aes-1655431
Work around Cortex-A72 Erratum 1655431 (ARM only)
-mfp32 Use 32-bit floating point registers (MIPS only)
-mfp64 Use 64-bit floating point registers (MIPS only)
-mframe-chain=<value> Select the frame chain model used to emit frame records (Arm only).
-mfunction-return=<value>
Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)
-MF <file> Write depfile output from -MMD, -MD, -MM, or -M to <file>
-mgeneral-regs-only Generate code which only uses the general purpose registers (AArch64/x86 only)
-mglobal-merge Enable merging of globals
-mgpopt Use GP relative accesses for symbols known to be in a small data section (MIPS)
-mguard=<value> Enable or disable Control Flow Guard checks and guard tables emission
-MG Add missing headers to depfile
-mharden-sls=<value> Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)
-mhvx-ieee-fp Enable Hexagon HVX IEEE floating-point
-mhvx-length=<value> Set Hexagon Vector Length
-mhvx-qfloat Enable Hexagon HVX QFloat instructions
-mhvx=<value> Enable Hexagon Vector eXtensions
-mhvx Enable Hexagon Vector eXtensions
-miamcu Use Intel MCU ABI
-mignore-xcoff-visibility
Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file
--migrate Run the migrator
-mincremental-linker-compatible
(integrated-as) Emit an object file which can be used with an incremental linker
-mindirect-branch-cs-prefix
Add cs prefix to call and jmp to indirect thunk
-mindirect-jump=<value> Change indirect jump instructions to inhibit speculation
-mios-version-min=<value>
Set iOS deployment target
-MJ <value> Write a compilation database entry per input
-mllvm <value> Additional arguments to forward to LLVM's option processing
-mlocal-sdata Extend the -G behaviour to object local data (MIPS)
-mlong-calls Generate branches with extended addressability, usually via indirect jumps.
-mlong-double-128 Force long double to be 128 bits
-mlong-double-64 Force long double to be 64 bits
-mlong-double-80 Force long double to be 80 bits, padded to 128 bits for storage
-mlvi-cfi Enable only control-flow mitigations for Load Value Injection (LVI)
-mlvi-hardening Enable all mitigations for Load Value Injection (LVI)
-mmacos-version-min=<value>
Set macOS deployment target
-mmadd4 Enable the generation of 4-operand madd.s, madd.d and related instructions.
-mmark-bti-property Add .note.gnu.property with BTI to assembly files (AArch64 only)
-MMD Write a depfile containing user headers
-mmemops Enable generation of memop instructions
-mmlir <value> Additional arguments to forward to MLIR's option processing
-mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
-mmsa Enable MSA ASE (MIPS only)
-mmt Enable MT ASE (MIPS only)
-MM Like -MMD, but also implies -E and writes to stdout by default
-mno-abicalls Disable SVR4-style position-independent code (Mips only)
-mno-bti-at-return-twice
Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)
-mno-code-object-v3 Legacy option to specify code object ABI V2 (AMDGPU only)
-mno-crc Disallow use of CRC instructions (Mips only)
-mno-cumode Specify WGP wavefront execution mode (AMDGPU only)
-mno-embedded-data Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)
-mno-execute-only Allow generation of data access to code sections (ARM only)
-mno-extern-sdata Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)
-mno-fix-cmse-cve-2021-35465
Don't work around VLLDM erratum CVE-2021-35465 (ARM only)
-mno-fix-cortex-a53-835769
Don't workaround Cortex-A53 erratum 835769 (AArch64 only)
-mno-fix-cortex-a57-aes-1742098
Don't work around Cortex-A57 Erratum 1742098 (ARM only)
-mno-fix-cortex-a72-aes-1655431
Don't work around Cortex-A72 Erratum 1655431 (ARM only)
-mno-fmv Disable function multiversioning
-mno-global-merge Disable merging of globals
-mno-gpopt Do not use GP relative accesses for symbols known to be in a small data section (MIPS)
-mno-hvx-ieee-fp Disable Hexagon HVX IEEE floating-point
-mno-hvx-qfloat Disable Hexagon HVX QFloat instructions
-mno-hvx Disable Hexagon Vector eXtensions
-mno-implicit-float Don't generate implicit floating point or vector instructions
-mno-incremental-linker-compatible
(integrated-as) Emit an object file which cannot be used with an incremental linker
-mno-local-sdata Do not extend the -G behaviour to object local data (MIPS)
-mno-long-calls Restore the default behaviour of not generating long calls
-mno-lvi-cfi Disable control-flow mitigations for Load Value Injection (LVI)
-mno-lvi-hardening Disable mitigations for Load Value Injection (LVI)
-mno-madd4 Disable the generation of 4-operand madd.s, madd.d and related instructions.
-mno-memops Disable generation of memop instructions
-mno-movt Disallow use of movt/movw pairs (ARM only)
-mno-ms-bitfields Do not set the default structure layout to be compatible with the Microsoft compiler standard
-mno-msa Disable MSA ASE (MIPS only)
-mno-mt Disable MT ASE (MIPS only)
-mno-neg-immediates Disallow converting instructions with negative immediates to their negation or inversion.
-mno-nvj Disable generation of new-value jumps
-mno-nvs Disable generation of new-value stores
-mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-mno-outline Disable function outlining (AArch64 only)
-mno-packets Disable generation of instruction packets
-mno-pic-data-is-text-relative
Don't assume data segments are relative to text segment
-mno-relax Disable linker relaxation
-mno-restrict-it Allow generation of complex IT blocks.
-mno-save-restore Disable using library calls for save and restore
-mno-seses Disable speculative execution side effect suppression (SESES)
-mno-stack-arg-probe Disable stack probes which are enabled by default
-mno-tgsplit Disable threadgroup split execution mode (AMDGPU only)
-mno-tls-direct-seg-refs
Disable direct TLS access through segment registers
-mno-unaligned-access Force all memory accesses to be aligned (AArch32/AArch64 only)
-mno-wavefrontsize64 Specify wavefront size 32 mode (AMDGPU only)
-mnocrc Disallow use of CRC instructions (ARM only)
-mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.
-mnvj Enable generation of new-value jumps
-mnvs Enable generation of new-value stores
-module-dependency-dir <value>
Directory to dump module dependencies to
-module-file-info Provide information about a particular module file
-momit-leaf-frame-pointer
Omit frame pointer setup for leaf functions
-moutline-atomics Generate local calls to out-of-line atomic operations
-moutline Enable function outlining (AArch64 only)
-mpacked-stack Use packed stack layout (SystemZ only).
-mpackets Enable generation of instruction packets
-mpad-max-prefix-size=<value>
Specify maximum number of prefixes to use for padding
-mpic-data-is-text-relative
Assume data segments are relative to text segment
-mprefer-vector-width=<value>
Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
-MP Create phony target for each dependency (other than main file)
-mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
-MQ <value> Specify name of main file output to quote in depfile
-mrecord-mcount Generate a __mcount_loc section entry for each __fentry__ call.
-mrelax-all (integrated-as) Relax all machine instructions
-mrelax Enable linker relaxation
-mrestrict-it Disallow generation of complex IT blocks.
-mrtd Make StdCall calling convention the default
-msave-restore Enable using library calls for save and restore
-mseses Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations
-msign-return-address=<value>
Select return address signing scope
-mskip-rax-setup Skip setting up RAX register when passing variable arguments (x86 only)
-msmall-data-limit=<value>
Put global and static data smaller than the limit into a special section
-msoft-float Use software floating point
-mstack-alignment=<value>
Set the stack alignment
-mstack-arg-probe Enable stack probes
-mstack-probe-size=<value>
Set the stack probe size
-mstack-protector-guard-offset=<value>
Use the given offset for addressing the stack-protector guard
-mstack-protector-guard-reg=<value>
Use the given reg for addressing the stack-protector guard
-mstack-protector-guard-symbol=<value>
Use the given symbol for addressing the stack-protector guard
-mstack-protector-guard=<value>
Use the given guard (global, tls) for addressing the stack-protector guard
-mstackrealign Force realign the stack at entry to every function
-msve-vector-bits=<value>
Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-msvr4-struct-return Return small structs in registers (PPC32 only)
-mtargetos=<value> Set the deployment target to be the specified OS and OS version
-mtgsplit Enable threadgroup split execution mode (AMDGPU only)
-mthread-model <value> The thread model to use. Defaults to 'posix')
-mtls-direct-seg-refs Enable direct TLS access through segment registers (default)
-mtls-size=<value> Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)
-mtp=<value> Thread pointer access method (AArch32/AArch64 only)
-mtune=<value> Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86
-MT <value> Specify name of main file output in depfile
-munaligned-access Allow memory accesses to be unaligned (AArch32/AArch64 only)
-munsafe-fp-atomics Enable unsafe floating point atomic instructions (AMDGPU only)
-mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64 only)
-mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64 only)
-MV Use NMake/Jom format for the depfile
-mwavefrontsize64 Specify wavefront size 64 mode (AMDGPU only)
-M Like -MD, but also implies -E and writes to stdout by default
--no-cuda-include-ptx=<value>
Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--no-cuda-version-check Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
--no-default-config Disable loading default configuration files
--no-gpu-bundle-output Do not bundle output files of HIP device compilation
-no-hip-rt Do not link against HIP runtime libraries
--no-offload-add-rpath Do not add -rpath with HIP runtime library directory to the linker flags
--no-offload-arch=<value>
Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
--no-offload-new-driver Don't Use the new driver for offloading compilation.
--no-system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as not including a system header.
-nobuiltininc Disable builtin #include directories
-nogpuinc Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers
-nogpulib Do not link device library for CUDA/HIP device compilation
-nohipwrapperinc Do not include the default HIP wrapper headers and include paths
-nostdinc++ Disable standard #include directories for the C++ standard library
--nvptx-arch-tool=<value>
Tool used for detecting NVIDIA GPU arch in the system.
-ObjC++ Treat source input files as Objective-C++ inputs
-objcmt-allowlist-dir-path=<value>
Only modify files with a filename contained in the provided directory path
-objcmt-atomic-property Make migration to 'atomic' properties
-objcmt-migrate-all Enable migration to modern ObjC
-objcmt-migrate-annotation
Enable migration to property and method annotations
-objcmt-migrate-designated-init
Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods
-objcmt-migrate-instancetype
Enable migration to infer instancetype for method result type
-objcmt-migrate-literals
Enable migration to modern ObjC literals
-objcmt-migrate-ns-macros
Enable migration to NS_ENUM/NS_OPTIONS macros
-objcmt-migrate-property-dot-syntax
Enable migration of setter/getter messages to property-dot syntax
-objcmt-migrate-property
Enable migration to modern ObjC property
-objcmt-migrate-protocol-conformance
Enable migration to add protocol conformance on classes
-objcmt-migrate-readonly-property
Enable migration to modern ObjC readonly property
-objcmt-migrate-readwrite-property
Enable migration to modern ObjC readwrite property
-objcmt-migrate-subscripting
Enable migration to modern ObjC subscripting
-objcmt-ns-nonatomic-iosonly
Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute
-objcmt-returns-innerpointer-property
Enable migration to annotate property with NS_RETURNS_INNER_POINTER
-objcmt-whitelist-dir-path=<value>
Alias for -objcmt-allowlist-dir-path
-ObjC Treat source input files as Objective-C inputs
-object-file-name=<file>
Set the output <file> for debug infos
--offload-add-rpath Add -rpath with HIP runtime library directory to the linker flags
--offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
--offload-device-only Only compile for the offloading device.
--offload-host-device Only compile for the offloading host.
--offload-host-only Only compile for the offloading host.
--offload-link Use the new offloading linker to perform the link job.
--offload-new-driver Use the new driver for offloading compilation.
--offload=<value> Specify comma-separated list of offloading target triples (CUDA and HIP only)
-o <file> Write output to <file>
-pedantic Warn on language extensions
-pg Enable mcount instrumentation
-pipe Use pipes between commands, when possible
--precompile Only precompile the input
-print-diagnostic-options
Print all of Clang's warning options
-print-effective-triple Print the effective target triple
-print-file-name=<file> Print the full library path of <file>
-print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
-print-libgcc-file-name Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang_rt.builtins.*.a")
-print-prog-name=<name> Print the full program path of <name>
-print-resource-dir Print the resource directory pathname
-print-rocm-search-dirs Print the paths used for finding ROCm installation
-print-runtime-dir Print the directory pathname containing clangs runtime libraries
-print-search-dirs Print the paths used for finding libraries and programs
-print-supported-cpus Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)
-print-target-triple Print the normalized target triple
-print-targets Print the registered targets
-pthread Support POSIX threads in generated code
--ptxas-path=<value> Path to ptxas (used for compiling CUDA code)
-P Disable linemarker output in -E mode
-Qn Do not emit metadata containing compiler name and version
-Qunused-arguments Don't emit warning for unused driver arguments
-Qy Emit metadata containing compiler name and version
-relocatable-pch Whether to build a relocatable precompiled header
-rewrite-legacy-objc Rewrite Legacy Objective-C source to C++
-rewrite-objc Rewrite Objective-C source to C++
--rocm-device-lib-path=<value>
ROCm device library path. Alternative to rocm-path.
--rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-rtlib=<value> Compiler runtime library to use
-R<remark> Enable the specified remark
-save-stats=<value> Save llvm statistics.
-save-stats Save llvm statistics.
-save-temps=<value> Save intermediate compilation results.
-save-temps Save intermediate compilation results
-serialize-diagnostics <value>
Serialize compiler diagnostics to a file
-shared-libsan Dynamically link the sanitizer runtime
--start-no-unused-arguments
Don't emit warnings about unused arguments for the following arguments
-static-libsan Statically link the sanitizer runtime
-static-openmp Use the static host OpenMP runtime while linking.
-std=<value> Language standard to compile for
-stdlib++-isystem <directory>
Use directory as the C++ standard library include path
-stdlib=<value> C++ standard library to use
-sycl-std=<value> SYCL language standard to compile for.
--system-header-prefix=<prefix>
Treat all #include paths starting with <prefix> as including a system header.
-S Only run preprocess and compilation steps
--target=<value> Generate code for the given target
-time Time individual commands
-traditional-cpp Enable some traditional CPP emulation
-trigraphs Process trigraph sequences
-T <script> Specify <script> as linker script
-undef undef all system defines
-unwindlib=<value> Unwind library to use
-U <macro> Undefine macro <macro>
--verify-debug-info Verify the binary representation of debug output
-verify-pch Load and verify that a pre-compiled header file is not stale
--version Print version information
-v Show commands to run and use verbose output
-Wa,<arg> Pass the comma separated arguments in <arg> to the assembler
-Wdeprecated Enable warnings for deprecated constructs and define __DEPRECATED
-Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-working-directory <value>
Resolve file paths relative to the specified directory
-Wp,<arg> Pass the comma separated arguments in <arg> to the preprocessor
-W<warning> Enable the specified warning
-w Suppress all warnings
-Xanalyzer <arg> Pass <arg> to the static analyzer
-Xarch_device <arg> Pass <arg> to the CUDA/HIP device compilation
-Xarch_host <arg> Pass <arg> to the CUDA/HIP host compilation
-Xassembler <arg> Pass <arg> to the assembler
-Xclang=<arg> Alias for -Xclang
-Xclang <arg> Pass <arg> to clang -cc1
-Xcuda-fatbinary <arg> Pass <arg> to fatbinary invocation
-Xcuda-ptxas <arg> Pass <arg> to the ptxas assembler
-Xlinker <arg> Pass <arg> to the linker
-Xoffload-linker<triple> <arg>
Pass <arg> to the offload linkers or the ones idenfied by -<triple>
-Xopenmp-target=<triple> <arg>
Pass <arg> to the target offloading toolchain identified by <triple>.
-Xopenmp-target <arg> Pass <arg> to the target offloading toolchain.
-Xpreprocessor <arg> Pass <arg> to the preprocessor
-x <language> Treat subsequent input files as having type <language>
-z <arg> Pass -z <arg> to the linker
stdout: Use --craype-help for CrayPE specific options.
Detected Cray PE wrapper compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --version
stdout:
Cray clang version 16.0.1 (6d4824324d375100ba18ca639dfc956fe6546d06)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cray/pe/cce/16.0.1/cce-clang/x86_64/share/../bin
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 500
Detected CLANG compiler
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help | head -n 20
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
stdout: Use --craype-help for CrayPE specific options.
Executing: /opt/cray/pe/mpich/8.1.27/ofi/cray/16.0/bin/mpicxx --help
stdout:
OVERVIEW: clang LLVM compiler
USAGE: {cc|CC} [options] file...
OPTIONS:
-### Print (but do not run) the commands to run for this compilation
--amdgpu-arch-tool=<value>
Tool used for detecting AMD GPU arch in the system.
--analyzer-output <value>
Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).
--analyze Run the static analyzer
-arcmt-migrate-emit-errors
Emit ARC errors even if the migrator can fix them
-arcmt-migrate-report-output <value>
Output path for the plist report
-B <prefix> Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file
-b <arg> Pass -b <arg> to the linker on AIX
-CC Include comments from within macros in preprocessed output
-cl-denorms-are-zero OpenCL only. Allow denormals to be flushed to zero.
-cl-ext=<value> OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.
-cl-fast-relaxed-math OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.
-cl-finite-math-only OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
-cl-fp32-correctly-rounded-divide-sqrt
OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
-cl-kernel-arg-info OpenCL only. Generate kernel argument metadata.
-cl-mad-enable OpenCL only. Allow use of less precise MAD computations in the generated binary.
-cl-no-signed-zeros OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
-cl-no-stdinc OpenCL only. Disables all standard includes containing non-native compiler types and functions.
-cl-opt-disable OpenCL only. This option disables all optimizations. By default optimizations are enabled.
-cl-single-precision-constant
OpenCL only. Treat double precision floating-point constant as single precision constant.
-cl-std=<value> OpenCL language standard to compile for.
-cl-strict-aliasing OpenCL only. This option is added for compatibility with OpenCL 1.0.
-cl-uniform-work-group-size
OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel
-cl-unsafe-math-optimizations
OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable.
--config=<file> Specify configuration file
--cuda-compile-host-device
Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.
--cuda-device-only Compile CUDA code for device only
--cuda-feature=<value> Manually specify the CUDA feature to use
--cuda-host-only Compile CUDA code for host only. Has no effect on non-CUDA compilations.
--cuda-include-ptx=<value>
Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.
--cuda-noopt-device-debug
Enable device-side debug info generation. Disables ptxas optimizations.
--cuda-path-ignore-env Ignore environment variables to detect CUDA installation
--cuda-path=<value> CUDA installation path
-cuid=<value> An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.
-cxx-isystem <directory>
Add directory to the C++ SYSTEM include search path
-C Include comments in preprocessed output
-c Only run preprocess, compile, and assemble steps
-darwin-target-variant-triple <value>
Specify the darwin target variant triple
-darwin-target-variant <value>
Generate code for an additional runtime variant of the deployment target
-dD Print macro definitions in -E mode in addition to normal output
-dependency-dot <value> Filename to write DOT-formatted header dependencies to
-dependency-file <value>
Filename (or -) to write dependency output to
-dI Print include directives in -E mode in addition to normal output
-dM Print macro definitions in -E mode instead of normal output
-dsym-dir <dir> Directory to output dSYM's (if any) to
-D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-emit-ast Emit Clang AST files for source inputs
-emit-interface-stubs Generate Interface Stub Files.
-emit-llvm Use the LLVM representation for assembler and object files
-emit-merged-ifs Generate Interface Stub Files, emit merged text not binary.
--emit-static-lib Enable linker job to emit a static library.
--end-no-unused-arguments
Start emitting warnings for unused driver arguments
--extract-api-ignores=<value>
File containing a new line separated list of API symbols to ignore when extracting API information.
-extract-api Extract API information
-E Only run the preprocessor
-faapcs-bitfield-load Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).
-faapcs-bitfield-width Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).
-faddrsig Emit an address-significance table
-falign-loops=<N> N must be a power of two. Align loops to the boundary
-faligned-allocation Enable C++17 aligned allocation functions
-fallow-editor-placeholders
Treat editor placeholders as valid source code
-faltivec-src-compat=<value>
Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.
-fansi-escape-codes Use ANSI escape codes for diagnostics
-fapple-kext Use Apple's kernel extensions ABI
-fapple-link-rtlib Force linking the clang builtins runtime library
-fapple-pragma-pack Enable Apple gcc-compatible #pragma pack handling
-fapplication-extension Restrict code to those available for App Extensions
-fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-fast [Cray] Enables -Ofast and link-time optimization
-fasync-exceptions Enable EH Asynchronous exceptions
-fbasic-block-sections=<value>
Place each function's basic blocks in unique sections (ELF Only)
-fbinutils-version=<major.minor>
Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.
-fblocks Enable the 'blocks' language feature
-fborland-extensions Accept non-standard constructs supported by the Borland compiler
-fbuild-session-file=<file>
Use the last modification time of <file> as the build session timestamp
-fbuild-session-timestamp=<time since Epoch in seconds>
Time when the current build session started
-fbuiltin-module-map Load the clang builtins module map file.
-fc++-abi=<value> C++ ABI to use. This will override the target C++ ABI.
-fcall-saved-x10 Make the x10 register call-saved (AArch64 only)
-fcall-saved-x11 Make the x11 register call-saved (AArch64 only)
-fcall-saved-x12 Make the x12 register call-saved (AArch64 only)
-fcall-saved-x13 Make the x13 register call-saved (AArch64 only)
-fcall-saved-x14 Make the x14 register call-saved (AArch64 only)
-fcall-saved-x15 Make the x15 register call-saved (AArch64 only)
-fcall-saved-x18 Make the x18 register call-saved (AArch64 only)
-fcall-saved-x8 Make the x8 register call-saved (AArch64 only)
-fcall-saved-x9 Make the x9 register call-saved (AArch64 only)
-fcf-protection=<value> Instrument control-flow architecture protection
-fcf-protection Enable cf-protection in 'full' mode
-fchar8_t Enable C++ builtin type char8_t
-fclang-abi-compat=<version>
Attempt to match the ABI of Clang <version>
-fcolor-diagnostics Enable colors in diagnostics
-fcomment-block-commands=<arg>
Treat each comma separated argument in <arg> as a documentation comment block command
-fcommon Place uninitialized global variables in a common block
-fcomplete-member-pointers
Require member pointer base types to be complete if they would be significant under the Microsoft ABI
-fconvergent-functions Assume functions may be convergent
-fcoro-aligned-allocation
Prefer aligned allocation for C++ Coroutines
-fcoroutines-ts Enable support for the C++ Coroutines TS
-fcoverage-compilation-dir=<value>
The compilation directory to embed in the coverage mapping.
-fcoverage-mapping Generate coverage mapping to enable code coverage analysis
-fcoverage-prefix-map=<value>
remap file source paths in coverage mapping
-fcrash-diagnostics-dir=<dir>
Put crash-report files in <dir>
-fcrash-diagnostics=<value>
Set level of crash diagnostic reporting, (option: off, compiler, all)
-fcrash-diagnostics Enable crash diagnostic reporting (default)
-fcray-mallopt [Cray] Use Cray mallopt parameters to optimize malloc
-fcray-openmp [Cray] Optimize OpenMP lowering for libcraymp
-fcray-program-library-path=<directory>
[Cray] Program library directory
-fcray [Cray] Enable default Cray enhancements
-fcs-profile-generate=<directory>
Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcs-profile-generate Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)
-fcuda-approx-transcendentals
Use approximate transcendental functions
-fcuda-short-ptr Use 32-bit pointers for accessing const/local/shared address spaces
-fcxx-exceptions Enable C++ exceptions
-fcxx-modules Enable modules for C++
-fdata-sections Place each data in its own section
-fdebug-compilation-dir=<value>
The compilation directory to embed in the debug info
-fdebug-default-version=<value>
Default DWARF version to use, if a -g option caused DWARF debug info to be produced
-fdebug-info-for-profiling
Emit extra debug info to make sample profile more accurate
-fdebug-macro Emit macro debug information
-fdebug-prefix-map=<value>
remap file source paths in debug info
-fdebug-ranges-base-address
Use DWARF base address selection entries in .debug_ranges
-fdebug-types-section Place debug types in their own section (ELF Only)
-fdeclspec Allow __declspec as a keyword
-fdelayed-template-parsing
Parse templated function definitions at the end of the translation unit
-fdelete-null-pointer-checks
Treat usage of null pointers as undefined behavior (default)
-fdiagnostics-absolute-paths
Print absolute paths in diagnostics
-fdiagnostics-hotness-threshold=<value>
Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary
-fdiagnostics-misexpect-tolerance=<value>
Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected.
-fdiagnostics-parseable-fixits
Print fix-its in machine parseable form
-fdiagnostics-print-source-range-info
Print source range spans in numeric form
-fdiagnostics-show-hotness
Enable profile hotness information in diagnostic line
-fdiagnostics-show-note-include-stack
Display include stacks for diagnostic notes
-fdiagnostics-show-option
Print option name with mappable diagnostics
-fdiagnostics-show-template-tree
Print a template comparison tree for differing templates
-fdigraphs Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)
-fdirect-access-external-data
Don't use GOT indirection to reference external data symbols
-fdiscard-value-names Discard value names in LLVM IR
-fdollars-in-identifiers
Allow '$' in identifiers
-fdouble-square-bracket-attributes
Enable '[[]]' attributes in all C and C++ language modes
-fdriver-only Only run the driver.
-fdwarf-exceptions Use DWARF style exceptions
-feliminate-unused-debug-types
Do not emit debug info for defined but unused types
-fembed-bitcode-marker Embed placeholder LLVM IR data as a marker
-fembed-bitcode=<option>
Embed LLVM bitcode
-fembed-bitcode Embed LLVM IR bitcode as data
-fembed-offload-object=<value>
Embed Offloading device-side binary into host object file as a section.
-femit-all-decls Emit all declarations, even if unused
-femit-dwarf-unwind=<value>
When to emit DWARF unwind (EH frame) info
-femulated-tls Use emutls functions to access thread_local variables
-fenable-matrix Enable matrix data type and related builtin functions
-fenhanced-asm=<value> [Cray] Descriptive asm verbosity
-fenhanced-ir=<value> [Cray] Descriptive IR verbosity
-fexceptions Enable support for exception handling
-fexcess-precision=<value>
Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.
-fexperimental-library Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes
-fexperimental-new-constant-interpreter
Enable the experimental new constant interpreter
-fexperimental-relative-c++-abi-vtables
Use the experimental C++ class ABI for classes with virtual tables
-fexperimental-sanitize-metadata=<value>
Specify the type of metadata to emit for binary analysis sanitizers
-fexperimental-strict-floating-point
Enables experimental strict floating point in LLVM.
-fextend-arguments=<value>
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions
-ffast-math Allow aggressive, lossy floating-point optimizations
-ffile-compilation-dir=<value>
The compilation directory to embed in the debug info and coverage mapping.
-ffile-prefix-map=<value>
remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-ffile-reproducible Use the target's platform-specific path separator character when expanding the __FILE__ macro
-ffine-grained-bitfield-accesses
Use separate accesses for consecutive bitfield runs with legal widths and alignments.
-ffinite-loops Assume all loops are finite.
-ffixed-a0 Reserve the a0 register (M68k only)
-ffixed-a1 Reserve the a1 register (M68k only)
-ffixed-a2 Reserve the a2 register (M68k only)
-ffixed-a3 Reserve the a3 register (M68k only)
-ffixed-a4 Reserve the a4 register (M68k only)
-ffixed-a5 Reserve the a5 register (M68k only)
-ffixed-a6 Reserve the a6 register (M68k only)
-ffixed-d0 Reserve the d0 register (M68k only)
-ffixed-d1 Reserve the d1 register (M68k only)
-ffixed-d2 Reserve the d2 register (M68k only)
-ffixed-d3 Reserve the d3 register (M68k only)
-ffixed-d4 Reserve the d4 register (M68k only)
-ffixed-d5 Reserve the d5 register (M68k only)
-ffixed-d6 Reserve the d6 register (M68k only)
-ffixed-d7 Reserve the d7 register (M68k only)
-ffixed-point Enable fixed point types
-ffixed-r19 Reserve register r19 (Hexagon only)
-ffixed-r9 Reserve the r9 register (ARM only)
-ffixed-x10 Reserve the x10 register (AArch64/RISC-V only)
-ffixed-x11 Reserve the x11 register (AArch64/RISC-V only)
-ffixed-x12 Reserve the x12 register (AArch64/RISC-V only)
-ffixed-x13 Reserve the x13 register (AArch64/RISC-V only)
-ffixed-x14 Reserve the x14 register (AArch64/RISC-V only)
-ffixed-x15 Reserve the x15 register (AArch64/RISC-V only)
-ffixed-x16 Reserve the x16 register (AArch64/RISC-V only)
-ffixed-x17 Reserve the x17 register (AArch64/RISC-V only)
-ffixed-x18 Reserve the x18 register (AArch64/RISC-V only)
-ffixed-x19 Reserve the x19 register (AArch64/RISC-V only)
-ffixed-x1 Reserve the x1 register (AArch64/RISC-V only)
-ffixed-x20 Reserve the x20 register (AArch64/RISC-V only)
-ffixed-x21 Reserve the x21 register (AArch64/RISC-V only)
-ffixed-x22 Reserve the x22 register (AArch64/RISC-V only)
-ffixed-x23 Reserve the x23 register (AArch64/RISC-V only)
-ffixed-x24 Reserve the x24 register (AArch64/RISC-V only)
-ffixed-x25 Reserve the x25 register (AArch64/RISC-V only)
-ffixed-x26 Reserve the x26 register (AArch64/RISC-V only)
-ffixed-x27 Reserve the x27 register (AArch64/RISC-V only)
-ffixed-x28 Reserve the x28 register (AArch64/RISC-V only)
-ffixed-x29 Reserve the x29 register (AArch64/RISC-V only)
-ffixed-x2 Reserve the x2 register (AArch64/RISC-V only)
-ffixed-x30 Reserve the x30 register (AArch64/RISC-V only)
-ffixed-x31 Reserve the x31 register (AArch64/RISC-V only)
-ffixed-x3 Reserve the x3 register (AArch64/RISC-V only)
-ffixed-x4 Reserve the x4 register (AArch64/RISC-V only)
-ffixed-x5 Reserve the x5 register (AArch64/RISC-V only)
-ffixed-x6 Reserve the x6 register (AArch64/RISC-V only)
-ffixed-x7 Reserve the x7 register (AArch64/RISC-V only)
-ffixed-x8 Reserve the x8 register (AArch64/RISC-V only)
-ffixed-x9 Reserve the x9 register (AArch64/RISC-V only)
-fforce-dwarf-frame Always emit a debug frame section
-fforce-emit-vtables Emits more virtual tables to improve devirtualization
-fforce-enable-int128 Enable support for int128_t type
-ffortran-byte-swap-io [Cray] Tell Fortran I/O to byte swap sequential and unformatted I/O
-ffortran Enable 'fortran' function specifier keyword
-ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-ffp-eval-method=<value>
Specifies the evaluation method to use for floating-point arithmetic.
-ffp-exception-behavior=<value>
Specifies the exception behavior of floating-point operations.
-ffp-model=<value> Controls the semantics of floating-point calculations.
-ffp=<value> [Cray] Floating point optimization level
-ffreestanding Assert that the compilation takes place in a freestanding environment
-ffuchsia-api-level=<value>
Set Fuchsia API level
-ffunction-sections Place each function in its own section
-fglobal-isel Enables the global instruction selector
-fgnu-keywords Allow GNU-extension keywords regardless of language standard
-fgnu-runtime Generate output compatible with the standard GNU Objective-C runtime
-fgnu89-inline Use the gnu89 inline semantics
-fgnuc-version=<value> Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)
-fgpu-allow-device-init Allow device side init function in HIP (experimental)
-fgpu-default-stream=<value>
Specify default stream. The default value is 'legacy'. (HIP only)
-fgpu-defer-diag Defer host/device related diagnostic messages for CUDA/HIP
-fgpu-flush-denormals-to-zero
Flush denormal floating point values to zero in CUDA/HIP device mode.
-fgpu-rdc Generate relocatable device code, also known as separate compilation mode
-fgpu-sanitize Enable sanitizer for AMDGPU target
-fhip-fp32-correctly-rounded-divide-sqrt
Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)
-fhip-kernel-arg-name Specify that kernel argument names are preserved (HIP only)
-fhip-new-launch-api Use new kernel launching API for HIP
-fignore-exceptions Enable support for ignoring exception handling constructs
-fimplicit-module-maps Implicitly search the file system for module map files.
-fincremental-extensions
Enable incremental processing extensions such as processingstatements on the global scope.
-finline-functions Inline suitable functions
-finline-hint-functions Inline functions which are (explicitly or implicitly) marked inline
-finline-max-stacksize=<value>
Suppress inlining of functions whose stack size exceeds the given value
-finput-charset=<value> Specify the default character set for source files
-finstrument-function-entry-bare
Instrument function entry only, after inlining, without arguments to the instrumentation call
-finstrument-functions-after-inlining
Like -finstrument-functions, but insert the calls after inlining
-finstrument-functions-exclude-function-list=<function>
List of function names to exclude from instrumentation
-finstrument-functions Generate calls to instrument function entry and exit
-finstrument-loops [Cray] Instrument loops for consumption by CrayPAT
-finstrument-openmp [Cray] Instrument OpenMP constructs for consumption by CrayPAT
-fintegrated-as Enable the integrated assembler
-fintegrated-cc1 Run cc1 in-process
-fintegrated-objemitter Use internal machine object code emitter.
-fivdep [Cray] Enable ivdep pragma
-fjmc Enable just-my-code debugging
-fjump-tables Use jump tables for lowering switches
-fkeep-static-consts Keep static const variables if unused
-flax-vector-conversions=<value>
Enable implicit vector bit-casts
-flocal-restrict [Cray] Honor the 'restrict' keyword within block scope
-floop-trips=<value> [Cray] Scale of trips to assume for loops with unknown trip counts
-floopmark-style=<value>
[Cray] Specifies the format of the loopmark file. Can be 'grouped' (messages placed at the bottom of the file) or 'interspersed' (messages placed after the relevant source line). Default is 'grouped'.
-flto-jobs=<value> Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
-flto=auto Enable LTO in 'full' mode
-flto=jobserver Enable LTO in 'full' mode
-flto=<value> Set LTO mode
-flto Enable LTO in 'full' mode
-fmacro-prefix-map=<value>
remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.
-fmath-errno Require math functions to indicate errors by setting errno
-fmax-tokens=<value> Max total number of preprocessed tokens for -Wmax-tokens.
-fmax-type-align=<value>
Specify the maximum alignment to enforce on pointers lacking an explicit alignment
-fmemory-profile=<directory>
Enable heap memory profiling and dump results into <directory>
-fmemory-profile Enable heap memory profiling
-fmerge-all-constants Allow merging of constants
-fmessage-length=<value>
Format message diagnostics so that they fit within N columns
-fminimize-whitespace Minimize whitespace when emitting preprocessor output
-fmodule-file=[<name>=]<file>
Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.
-fmodule-header=<kind> Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.
-fmodule-header Build a C++20 Header Unit from a header.
-fmodule-map-file=<file>
Load this module map file
-fmodule-name=<name> Specify the name of the module to build
-fmodule-output=<value> Save intermediate module file results when compiling a standard C++ module unit.
-fmodule-output Save intermediate module file results when compiling a standard C++ module unit.
-fmodules-cache-path=<directory>
Specify the module cache path
-fmodules-decluse Require declaration of modules used within a module
-fmodules-disable-diagnostic-validation
Disable validation of the diagnostic options when loading the module
-fmodules-ignore-macro=<value>
Ignore the definition of the given macro when building and loading modules
-fmodules-prune-after=<seconds>
Specify the interval (in seconds) after which a module file will be considered unused
-fmodules-prune-interval=<seconds>
Specify the interval (in seconds) between attempts to prune the module cache
-fmodules-search-all Search even non-imported modules to resolve references
-fmodules-strict-decluse
Like -fmodules-decluse but requires all headers to be in modules
-fmodules-ts Enable support for the C++ Modules TS
-fmodules-user-build-path <directory>
Specify the module user build path
-fmodules-validate-input-files-content
Validate PCM input files based on content if mtime differs
-fmodules-validate-once-per-build-session
Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
-fmodules-validate-system-headers
Validate the system headers that a module depends on when loading the module
-fmodules Enable the 'modules' language feature
-fms-compatibility-version=<value>
Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))
-fms-compatibility Enable full Microsoft Visual C++ compatibility
-fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
-fms-hotpatch Ensure that all functions can be hotpatched at runtime
-fms-runtime-lib=<value>
Select Windows run-time library
-fmsc-version=<value> Microsoft compiler version number
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment