summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* Clang: Use -fno-ansi-escape-codes for color diagnostics on WindowsCristian Adam2023-10-231-2/+8
| | | | | | | | | | | | | -fno-ansi-escape-codes is used only on Windows by Clang. Without the flag color diagnostics are displayed only if clang.exe is executed directly. Build tools like ninja and mingw32-make will not display colored diagnostics. Using -fno-ansi-escape-codes will make the build tools pass the colored diagnostics to the calling application e.g IDE. Fixes: #24235
* PGI/NVHPC: Remove -Mipa compiler option for 23.3+مهدي شينون (Mehdi Chinoune)2023-10-131-1/+1
| | | | | | | | `-Mipa` was removed since 23.3. The compiler warns about it: nvfortran-Warning-The option -Mipa has been deprecated and is ignored. See: https://docs.nvidia.com/hpc-sdk/archive/23.9/hpc-sdk-release-notes/index.html#deprecations
* Merge topic 'LLVMFlang-MSVC' into release-3.28Brad King2023-10-041-5/+9
|\ | | | | | | | | | | | | | | | | | | | | | | 26bf32cdc6 LLVMFlang: Add support for targeting MSVC ABI on Windows e9af7b9687 LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGET 26fa048ffe Tests: Enable CMP0091/CMP0141 for MSVC settings in FortranOnly test 9d060b8682 Fortran: Save CMAKE_LINKER variable persistently for MSVC ABI 7571e653f4 CMakeDetermineCompilerABI: Add option to skip implicit link info parsing 12733d0d8d CMakeParseImplicitLinkInfo: Detect link lines using link.exe and lld-link Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8852
| * LLVMFlang: Add support for targeting MSVC ABI on WindowsBrad King2023-10-031-5/+7
| | | | | | | | | | | | | | | | | | | | The compiler does not yet support everything needed to integrate well with the MSVC ABI, in particular for runtime library selection and debug format selection. Document them in FIXME comments and leave this support undocumented by CMake for now. Fixes: #24840 Inspired-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
| * LLVMFlang: Add support for CMAKE_Fortran_COMPILER_TARGETBrad King2023-10-021-0/+2
| |
* | Merge topic 'cxxmodules-no-longer-experimental'Brad King2023-10-023-13/+13
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | 437280b127 cxxmodules: scan C++ sources for imports by default 3cddd11649 Ninja: message about not compiled sources explicitly 068fde1c34 cmGeneratorTarget: use `this->` for method calls 197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources 5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement ff18acc301 CXXModules: remove `EXPERIMENTAL` from C++ module variable names 0c07f39006 cmExperimental: remove the flag for C++ modules 68caec9137 Help: add a manpage for cxxmodule support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com> Merge-request: !8828
| * CXXModules: remove `EXPERIMENTAL` from C++ module variable namesBen Boeckel2023-10-023-13/+13
| |
* | Merge topic 'android-clang-c++23'Brad King2023-09-281-1/+8
|\ \ | |/ |/| | | | | | | | | | | 75e9918a66 Android: Require Clang 18 for -std=c++23 Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !8847
| * Android: Require Clang 18 for -std=c++23Brad King2023-09-271-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the Clang version checks added by * commit eacacc70fc (Clang: use -std=c++23 for Clang 17.0+, 2023-05-08, v3.27.0-rc1~115^2) * commit 0183956d30 (Clang: C++26 support, 2023-05-16, v3.27.0-rc1~85^2) to account for Android NDK r26's distribution of a Clang based on a development version of LLVM/Clang 17.0 that pre-dated addition of these flags. Follow the pattern from commit 12e6796b62 (Android: Do not pass non-existent Clang -std flags, 2018-04-02, v3.12.0-rc1~284^2), which fixed the same problem for `-std=c++17`. Fixes: #25281
* | Merge topic 'hip-nvidia'Brad King2023-09-261-4/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd982eec10 HIP: Add tests for special NVIDIA values of CMAKE_HIP_ARCHITECTURES 8c8b3f1bfa HIP: Fix support for -DCMAKE_HIP_ARCHITECTURES=native with NVCC b3e92775ab HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCC e43918b4ca HIP: Fix linking mixed-lang binary with CXX compiler and Makefile generators 4794505122 HIP: Do not require hip-lang package for NVIDIA platform 09d759dc7f HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUs 2a60663670 HIP: Simplify CMAKE_GENERATOR references for determining compiler 8124950f6c CUDA: Generalize CMAKE_{CUDA => <LANG>}_HOST_COMPILER variable docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8836
| * | HIP: Simplify exclusion of AMD device runtime with NVIDIA GPUsBrad King2023-09-251-4/+2
| | |
* | | Merge topic 'orangec-compiler'Brad King2023-09-265-0/+92
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f8fa4f1ad7 ci: Add OrangeC 6.73.1 nightly CI job 531b4fe643 OrangeC: Add support for OrangeC compiler 10f435a58f Tests: Simplify nested if conditions in Complex tests Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Victor <lostfreeman@gmail.com> Merge-request: !8592
| * | | OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-255-0/+92
| |/ / | | | | | | | | | | | | | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* | | IBMClang: Add provisional flags for C++23Xing Xue2023-09-251-0/+2
|/ / | | | | | | | | With this one can use the IBM Open XL C/C++ compiler to build projects that require feature `cxx_std_23`.
* | Merge topic 'CrayClang-compiler'Brad King2023-09-254-0/+90
|\ \ | | | | | | | | | | | | | | | | | | 80838316a8 CrayClang: Add support for this compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8781
| * | CrayClang: Add support for this compilerRyan Krattiger2023-09-224-0/+90
| | | | | | | | | | | | | | | | | | Add `CrayClang` compiler ID for newer Cray compilers. Fixes: #25102
* | | Merge topic 'cxxmodules-gcc-14'Brad King2023-09-251-0/+21
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 4089954595 gitlab-ci: update to GCC CI container with merged P1689R5 c2564f5916 ci: drop extra scandep source settings for GCC ee52a02d56 ci: update GCC build to use master after P1689R5 is merged 4f0410959e GCC: add rules for scanning C++ module dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8827
| * | GCC: add rules for scanning C++ module dependenciesBen Boeckel2023-09-211-0/+21
| | |
* | | HIP: Add support for NVIDIA GPUsBrad King2023-09-211-0/+16
| | | | | | | | | | | | | | | | | | Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
* | | CUDA: Factor out some NVCC compiler informationBrad King2023-09-212-93/+100
|/ / | | | | | | Prepare to use nvcc for other languages.
* | IntelLLVM: Suppress -Rdebug-disables-optimization on debug buildsBram Metsch2023-09-071-0/+7
| | | | | | | | | | | | IntelLLVM 2023.0.0 and above emit this remark if `-g` is used without any `-O<level>` flag, which is our default behavior. Add another flag to suppress the remark.
* | Merge topic 'imported-cxxmodules'Brad King2023-08-212-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 48ee946fdc cmExperimental: recycle the C++ modules API UUID 1a1806a71b gitlab-ci: declare `bmionly` support for modules where possible 457a12f3f9 Tests/RunCMake/CXXModules: add tests which use modules from imported targets 9b9ec70b54 Ninja: generate scanning and build rules for C++20 module synthetic targets 80ef50a191 CXXModules: add a variable for BMI-only compilation 80d6544398 cxxmodules: generate synthetic targets as an initial pass 3dc6676ecc cmSyntheticTargetCache: add a struct for synthetic target caching cb356b540c cmCxxModuleUsageEffects: add a class to capture module usage effects ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8535
| * | CXXModules: add a variable for BMI-only compilationBen Boeckel2023-08-172-0/+2
| | | | | | | | | | | | | | | This will be required when dealing with imported targets which contain modules.
* | | Merge topic 'LLVMFlang-Fortran-flags'Brad King2023-08-191-0/+4
|\ \ \ | |/ / |/| / | |/ | | | | | | 1140087ade LLVMFlang-Fortran: Add flags for build types Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8741
| * LLVMFlang-Fortran: Add flags for build typesTarun Prabhu2023-08-191-0/+4
| | | | | | | | Fixes: #25193
* | Merge topic 'clang_c23'Brad King2023-08-161-1/+4
|\ \ | |/ | | | | | | | | | | | | 65288eb92a Clang: use -std=c23 for Clang 18+ Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8716
| * Clang: use -std=c23 for Clang 18+Raul Tambre2023-08-151-1/+4
| | | | | | | | Canonical flag changed in LLVM commit 13629b140801870feff855ca168edf6b34dbef8d.
| * Merge topic 'armclang-update-version-computation' into release-3.27Brad King2023-07-181-1/+1
| |\ | | | | | | | | | | | | | | | | | | 65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8636
| * \ Merge topic 'support_nvhpc_versions_without_isystem' into release-3.27Brad King2023-06-261-0/+4
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8588
* | | | NVIDIA-CUDA: Factor out helper for NVCC C++ standard flagsBrad King2023-08-102-62/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These standard flags will be the same for other C++-derived languages supported by nvcc. Follow the pattern from commit 25439c7d62 (Clang: Refactor CXX standard flags ..., 2020-03-16, v3.18.0-rc1~362^2~4) to factor them into a single macro so we can easily reuse them. Issue: #25143
* | | | Merge topic 'armclang-update-version-computation'Brad King2023-07-181-1/+1
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8636
| * | | ARMClang: Fix computation of compiler semantic version patch levelDaniel Brondani2023-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | According to ARMClang documentation 6.20, the patch version number should not include the last two digits of `__ARMCOMPILER_VERSION`, which are reserved for internal use by ARM.
* | | | Merge topic 'support_nvhpc_versions_without_isystem'Brad King2023-06-261-0/+4
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8588
| * | NVHPC: Support nvfortran versions that don't support isystemRobert Maynard2023-06-231-0/+4
| | | | | | | | | | | | Fixes: #25019
* | | link dependencies: deactivate the featureMarc Chevrier2023-06-231-3/+10
|/ / | | | | | | | | | | | | Unfortunately it breaks in combination with LTO due to a bug in the GNU linker. Fixes: #25014
* | Link Step: ensure the correct linker is used for depfile configurationMarc Chevrier2023-05-282-10/+3
| | | | | | | | This is related to MR !8443.
* | Merge topic 'clang_cxx26'Brad King2023-05-181-0/+2
|\ \ | | | | | | | | | | | | | | | | | | 0183956d30 Clang: C++26 support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8480
| * | Clang: C++26 supportRaul Tambre2023-05-161-0/+2
| | | | | | | | | | | | | | | Added in LLVM commit b763d6a4ed4650c74c6846d743156468563b0e31. This time the final flag form is supported from the get-go to reduce churn.
* | | IAR: Added support for IAR C/C++ Compiler for Microchip AVR 8.10+Felipe Torrezan2023-05-162-2/+2
| | | | | | | | | | | | | | | | | | - Added C17 support - Added C++17 support - Changed: IAR UBROF Linker (XLINK) suffixed with target architecture (xlinkavr)
* | | Merge topic 'iar-align-output-extension'Brad King2023-05-163-2/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | cfec4c1c5e IAR: Enforce output extension for xlink targets 7fec8f993b IAR: Replace extension for compiler and assembler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8477
| * | IAR: Enforce output extension for xlink targetsJoakim Lönnberg2023-05-122-2/+7
| | |
| * | IAR: Replace extension for compiler and assemblerJoakim Lönnberg2023-05-081-0/+1
| | |
* | | Merge topic 'dankm/tcsuffix'Brad King2023-05-102-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6a82852dc2 Allow toolchain suffix without leading dash Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8462
| * | | Allow toolchain suffix without leading dashDan McGregor2023-05-092-0/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | FreeBSD installs both LLVM and gcc with tools named after the major version, in the form "clang<major>", such as "clang16". Detect compilers named this way, and find the related toolchain tools.
* | | Clang: use -std=c++23 for Clang 17.0+Raul Tambre2023-05-081-1/+4
|/ / | | | | | | Canonical flag changed in LLVM commit ba15d186e5cef2620d562c6c9d9a6d570382cd0a.
* | Link step: use linker dependency linker fileMarc Chevrier2023-05-032-0/+47
| | | | | | | | | | | | Based on work done by @ben.boeckel (!8051) Fixes: #22217
* | Merge topic 'iar-silent-flag'Brad King2023-04-281-3/+7
|\ \ | | | | | | | | | | | | | | | | | | 01e944128d IAR: Move linker silencing flag to CMAKE_EXE_LINKER_FLAGS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8421
| * | IAR: Move linker silencing flag to CMAKE_EXE_LINKER_FLAGSFelipe Torrezan2023-04-261-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The IAR linker silencer flag was previously hardcoded in `CMAKE_${lang}_LINKER_EXECUTABLE`. Move the flag to a place that is under the end user's control. The default behavior (silenced linker) is not changed. Fixes: #24828
* | | Ninja: Revert "Exclude NVHPC -Werror flags during Fortran preprocessing"Brad King2023-04-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 6b58cdd4cf (Ninja: Exclude NVHPC -Werror flags during Fortran preprocessing, 2023-04-04). Since commit 9d40f01442 (NVHPC: Use -Werror for COMPILE_OPTIONS_WARNING_AS_ERROR, 2023-04-13), `nvfortran` can handle the plain `-Werror` flag during preprocessing. Issue: #24665
* | | NVHPC: Use -Werror for COMPILE_OPTIONS_WARNING_AS_ERRORRobert Maynard2023-04-252-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | The previously-used `-Werror all-warnings` is not supported by the NVHPC suite of compilers. This previously worked since `-Werror` was being used and `all-warnings` was being excluded. We thought this was the correct syntax due to incorrect documentation about `-Werror`, which stated the argument should be space-separated, while it should actually be separated with `=` or `,`. Issue: #24665