llvm-project/clang/lib/Driver/ToolChains
Alvin Wong a3a8bd00c8 [clang][MinGW] Add `-mguard=cf` and `-mguard=cf-nochecks`
This option can be used to enable Control Flow Guard checks and
generation of address-taken function table. They are equivalent to
`/guard:cf` and `/guard:cf,nochecks` in clang-cl. Passing this flag to
the Clang driver will also pass `--guard-cf` to the MinGW linker.

This feature is disabled by default. The option `-mguard=none` is also
available to explicitly disable this feature.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D132810
2022-09-09 09:55:40 +03:00
..
Arch [Clang][LoongArch] Add initial LoongArch target and driver support 2022-08-23 13:47:22 +08:00
AIX.cpp [AIX][clang][driver] Check the command string to the linker for exportlist opts 2022-08-30 10:38:38 -04:00
AIX.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
AMDGPU.cpp [clang] Change cc1 -fvisibility's canonical spelling to -fvisibility= 2022-09-02 11:49:38 -07:00
AMDGPU.h Revert "[AMDPU][Sanitizer] Refactor sanitizer options handling for AMDGPU Toolchain" 2022-04-02 13:25:50 +00:00
AMDGPUOpenMP.cpp [OpenMP] Deprecate the old driver for OpenMP offloading 2022-08-26 13:47:09 -05:00
AMDGPUOpenMP.h [OpenMP] Deprecate the old driver for OpenMP offloading 2022-08-26 13:47:09 -05:00
AVR.cpp [Driver] Support linking to compiler-rt for target AVR 2022-08-16 09:22:50 +08:00
AVR.h [Driver] Support linking to compiler-rt for target AVR 2022-08-16 09:22:50 +08:00
Ananas.cpp [Driver] Don't passs --dynamic-linker in -r mode 2022-07-16 20:13:24 -04:00
Ananas.h
BareMetal.cpp [RISCV] Use Triple::isRISCV/isRISCV32/isRISCV64 helps in some places. NFC 2022-08-19 09:11:22 -07:00
BareMetal.h Driver: Refactor and support per target dirs in baremetal 2022-08-10 09:13:30 -07:00
CSKYToolChain.cpp [Clang][CSKY] Add the CSKY target and compiler driver 2022-04-06 11:37:37 +08:00
CSKYToolChain.h [CSKY] Remove redundant enabling of IAS for Clang, NFC 2022-04-11 22:34:44 -04:00
Clang.cpp [Driver] Support -gz=zstd 2022-09-08 01:39:06 -07:00
Clang.h [Clang][LoongArch] Add initial LoongArch target and driver support 2022-08-23 13:47:22 +08:00
CloudABI.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
CloudABI.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
CommonArgs.cpp [Driver] Support -gz=zstd 2022-09-08 01:39:06 -07:00
CommonArgs.h [Flang][Driver] Add support for PIC 2022-08-22 11:10:42 -07:00
Contiki.cpp
Contiki.h
CrossWindows.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
CrossWindows.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Cuda.cpp [CUDA] Fix arguments after removing unused private variable 2022-08-26 15:28:34 -05:00
Cuda.h [CUDA] Fix arguments after removing unused private variable 2022-08-26 15:28:34 -05:00
Darwin.cpp [clang] Use std::size instead of llvm::array_lengthof 2022-09-08 17:20:25 -06:00
Darwin.h [Clang][Driver] Refine/refactor DriverKit support 2022-08-26 16:06:24 -07:00
DragonFly.cpp [Driver] Don't passs --dynamic-linker in -r mode 2022-07-16 20:13:24 -04:00
DragonFly.h
Flang.cpp [Flang][Driver] Add support for PIC 2022-08-22 11:10:42 -07:00
Flang.h [Flang][Driver] Add support for PIC 2022-08-22 11:10:42 -07:00
FreeBSD.cpp [Driver] Enable some sanitizers on FreeBSD AArch64 2022-07-24 10:41:21 -07:00
FreeBSD.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Fuchsia.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
Fuchsia.h [Driver] Make -moutline-atomics default for aarch64-fuchsia targets 2022-03-28 16:51:55 -07:00
Gnu.cpp [Driver] Support -gz=zstd 2022-09-08 01:39:06 -07:00
Gnu.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
HIPAMD.cpp [clang] Qualify auto in range-based for loops (NFC) 2022-09-03 23:27:27 -07:00
HIPAMD.h [clang][HIP] Updating driver to enable archive/bitcode to bitcode linking when targeting HIPAMD toolchain 2022-04-21 09:24:33 -07:00
HIPSPV.cpp [clang] Change cc1 -fvisibility's canonical spelling to -fvisibility= 2022-09-02 11:49:38 -07:00
HIPSPV.h [HIPSPV][2/4] Add HIPSPV tool chain 2021-12-14 10:22:38 -08:00
HIPUtility.cpp [clang-offload-bundler] add -input/-output options 2022-04-05 11:13:01 -04:00
HIPUtility.h [HIPSPV][1/4] Refactor HIP tool chain 2021-12-13 10:50:25 -05:00
HLSL.cpp [HLSL] emit-obj when set output. 2022-08-05 16:27:17 -07:00
HLSL.h [HLSL][clang][Driver] Parse target profile early to update Driver::TargetTriple. 2022-05-31 13:23:30 -07:00
Haiku.cpp [Driver] Detect Debian hack g++-multiarch-incdir.diff to simplify addLibStdCXXIncludePaths call sites 2021-03-21 17:33:31 -07:00
Haiku.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
Hexagon.cpp [clang] Small adjustments for -fexperimental-library 2022-07-20 09:14:55 -04:00
Hexagon.h [Clang] Move Hexagon / VE IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-13 23:56:09 -04:00
Hurd.cpp Hurd: Clean up Debian multiarch /usr/include/<triplet> 2021-04-27 13:36:12 -07:00
Hurd.h hurd: Detect libstdc++ include paths on Debian Hurd i386 2021-04-27 13:04:41 -07:00
InterfaceStubs.cpp [ifs][elfabi] Merge llvm-ifs/elfabi tools 2021-07-19 11:23:19 -07:00
InterfaceStubs.h
Lanai.h [Driver] Move Lanai IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-15 03:55:59 -04:00
Linux.cpp [Driver][Linux] Pass --hash-style=gnu to ld unless special cased 2022-08-28 12:13:01 -07:00
Linux.h [HIP] Add HIP runtime library arguments for linker 2022-04-28 11:12:23 -04:00
MSP430.cpp [Driver] Prepend - to option name in err_drv_unsupported_option_argument diagnostic 2022-04-10 01:44:53 -07:00
MSP430.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
MSVC.cpp Revert "[Driver] Support libc++ in MSVC" 2022-08-18 08:22:43 +00:00
MSVC.h [HIP] Add HIP runtime library arguments for linker 2022-04-28 11:12:23 -04:00
MinGW.cpp [clang][MinGW] Add `-mguard=cf` and `-mguard=cf-nochecks` 2022-09-09 09:55:40 +03:00
MinGW.h [clang][MinGW] Add `-mguard=cf` and `-mguard=cf-nochecks` 2022-09-09 09:55:40 +03:00
Minix.cpp [Driver][Minix] -r: imply -nostdlib like GCC 2022-06-25 16:16:38 -04:00
Minix.h
MipsLinux.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
MipsLinux.h
Myriad.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
Myriad.h
NaCl.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
NaCl.h
NetBSD.cpp [Driver] Don't passs --dynamic-linker in -r mode 2022-07-16 20:13:24 -04:00
NetBSD.h
OpenBSD.cpp [Clang][Driver] Fix include paths for `--sysroot /` on OpenBSD/FreeBSD 2022-07-22 14:30:32 +01:00
OpenBSD.h [Driver][OpenBSD] Disable unwind tables on Arm 2022-03-09 20:33:16 -05:00
PPCFreeBSD.cpp [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD 2021-11-22 20:42:10 +00:00
PPCFreeBSD.h [PowerPC] [Clang] Enable Intel intrinsics support on FreeBSD 2021-11-22 20:42:10 +00:00
PPCLinux.cpp [clang][driver] Fix float128 diagnostics with glibc >= 2.32 2022-03-08 15:49:01 +01:00
PPCLinux.h [PowerPC] Emit warning for ieeelongdouble on older GNU toolchain 2022-01-24 15:23:28 +08:00
PS4CPU.cpp [PS4][driver] make -fjmc work with LTO driver linking stage 2022-08-29 12:12:19 -07:00
PS4CPU.h [PS4][NFC] Rename classes to align with prevailing practice 2022-04-20 08:35:52 -07:00
RISCVToolchain.cpp [RISCV][Driver] Add libm linking to `RISCVToolchain` for C++ 2022-07-06 00:52:26 +03:00
RISCVToolchain.h [RISCV] Remove redundant enabling of IAS for Clang, NFC 2022-04-04 23:44:49 -04:00
ROCm.h [HIP] Support code object v5 2022-02-04 09:55:08 -05:00
SPIRV.cpp [SPIR-V] Remove unused variable 2022-01-11 13:45:59 +00:00
SPIRV.h [Clang] Added options for integrated backend. 2022-05-25 12:07:33 +01:00
Solaris.cpp [Driver][Solaris] -r: imply -nostdlib like GCC 2022-04-28 00:19:45 -04:00
Solaris.h
TCE.cpp [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
TCE.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
VEToolchain.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
VEToolchain.h [Clang] Move Hexagon / VE IAS enabling to Generic_GCC::IsIntegratedAssemblerDefault, NFC 2022-04-13 23:56:09 -04:00
WebAssembly.cpp [clang] Add a new flag -fexperimental-library to enable experimental library features 2022-07-19 15:04:58 -04:00
WebAssembly.h [clang][driver][wasm] Support -stdlib=libstdc++ for WebAssembly 2022-02-03 16:37:52 +01:00
XCore.cpp [Clang] Move XCore specific options from Clang.cpp to XCore.cpp 2022-01-30 02:24:35 +00:00
XCore.h [Driver] Fix ToolChain::getSanitizerArgs 2021-11-11 17:17:08 -05:00
ZOS.cpp
ZOS.h [SystemZ/z/OS] Set DWARF version to 4 for z/OS. 2022-06-10 13:38:58 -04:00