| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Merge-request: !6614
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 3aaf1d91bf (MSVC: C++20 final flag, C++23 support, 2021-05-29,
v3.20.4~7^2~1) we forgot to add `cxx_std_23` to the fallback table for
MSVC versions from VS 2010 through VS 2015. This allows project to at
least attempt compilation with these compilers since they do not have
any modes.
Issue: #22729
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
|
| |
| |
| |
| |
| |
| | |
CMake shouldn't use '-MD' for nvfortran to generate dependency information.
Fixes #22723
|
| |
| |
| |
| |
| |
| |
| | |
It only makes sense to use the CMake package from the same ROCm
installation that the compiler uses. Ask the HIP compiler to report the
location of the ROCm installation. Verify up front that it contains the
expected CMake package file.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1
(HIP: Extract clang compiler details from hipcc, 2020-10-21,
v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc`
has caused a few problems:
* The compiler id changed from behavior of CMake 3.20 and below,
breaking projects that already built with `hipcc` treated as `Clang`.
* The implementation of `target_compile_features` was incomplete for
the `ROCMClang` identity.
* Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped
to the underlying `clang++`, future runs of new CMake versions on
an existing build tree would not repeat this.
* Clang should be usable as a HIP compiler without the `hipcc` wrapper.
Remove the `ROMClang` compiler identity, and revise HIP language support
to work directly with a Clang compiler.
Reject direct `hipcc` usage as a HIP compiler. For now it cannot be
supported because it interferes with flags CMake needs to pass to Clang.
Fixes: #22536, #22460, #22593
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
fc1f733cc7 BinUtils: Avoid searching CMAKE_PREFIX_PATH
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6434
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Our `find_program` calls specify `HINTS` to look in the toolchain's
directory first, and then in `PATH`. `CMAKE_PREFIX_PATH` may be
specified by the user to help find packages for project dependencies,
but this should not override the binutils.
Fixes: #22512
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
d61bc4241d GNU: Correct C23 flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6376
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Non-final forms aren't supported yet, unlike C++23.
Seems I might've gotten confused due to that when I added these.
Fixes #22453.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The search logic for the IAR linker, librarian and related tools is
moved from `Modules/Compiler/IAR-FindBinUtils.cmake` to
`Modules/CMakeFindBinUtils.cmake` by introducing an new elseif block
for the IAR toolchain.
The search logic was refactored to omit repeating itself.
Fixes: #22425
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly
05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6357
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use `CMAKE_EXECUTABLE_SUFFIX_<LANG>` instead.
Fixes: #22426
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
IAR is available for both Linux and Windows OSes. Moreover,
binaries `*.exe` could be called from a Linux box, or vice versa.
See also commit 01a4eec446 (IAR: Changes required for Linux,
2019-04-25, v3.15.0-rc1~185^2).
Fixes: #22312
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Given the compiler to use, `CMakeFindBinUtils.cmake` automatically
determines a number of tools including linker (CMAKE_LINKER) and archiver
(CMAKE_AR) and stores them in a generated file `CMakeCCompiler.cmake` as
non-CACHE entries. The compiler-specific ARMClang.cmake then tries to
override CMAKE_LINKER and CMAKE_AR as CACHE entries.
Following the introduction of CMP0126, which is set to NEW in the test
for a working compiler, setting a CACHE entry does not replace a normal
entry of the same name anymore, resulting in a failed test due to wrong
linker and archiver.
To fix this, set CMAKE_LINKER and CMAKE_AR for ARMClang directly in
`CMakeFindBinUtils.cmake` as is done for other compilers. Check
for them in `ARMClang.cmake` to safeguard cases when a project explicitly
includes `ARMClang.cmake` prior to compiler determination (which some
projects do to work around other problems in older CMake versions).
|
| |
| |
| |
| |
| |
| |
| | |
Update the IAR linker and archiver rules to use the `<CMAKE_LINKER>`
and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
Fixes: #22395
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
|
| |
| |
| |
| |
| | |
Since -flto=thin is not supported officially in FujitsuClang,
change to -flto.
|
| |
| |
| |
| | |
Fixes: #22337
|
| | |
|
| |
| |
| |
| | |
Follow up commit 72f4984cdc (Clang: C23 support, 2021-02-07).
|
| |
| |
| |
| | |
Issue: #22297
|
| |
| |
| |
| |
| | |
Any target that might need to link to hip code needs the `hip::device`
target
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
886e27062b Clang/MSVC: C++20 final flag, C++23 support
3aaf1d91bf MSVC: C++20 final flag, C++23 support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6174
|
| |
| |
| |
| |
| | |
Added in LLVM commit a8f75d497daa2684a03909d7c31d5bce11b427e1, will be released
in 13.0.
|
| |
| |
| |
| |
| |
| |
| | |
Microsoft intends to ship the final C++20 flag in VS 16.11 albeit with a few
parts missing due planned ABI breaking changes.
The current 16.11 Preview 1 toolchain version is 19.29.30129.3, so let's
restrict based on that.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Update our OpenWatcom linker and archiver rules to use the
`<CMAKE_LINKER>` and `<CMAKE_AR>` placeholders instead of
hard-coding the tool names.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The commit 98fea8205e (Compiler/TI: Avoid response file usage for
linker, 2020-07-11, v3.19.0-rc1~495^2) disabled linker file usage by
default. The previous settings were working, even if not for all cases.
Restore them and add an explanation in a comment.
Issue: #22233
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
|
| | |
| | |
| | |
| | | |
Fixes: #22168
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
9fbbebe3d0 GNU: C++23 support
c9a1e06a18 GNU: Final C++20 flags
05f8c8178d GNU: C++17 default version
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6108
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added in GCC commit 78739c2df788ee5c868d998a6333d453317d8711, released in 11.1.
No lettered variant beforehand this time around.
Implements #22139.
|
| | |
| | |
| | |
| | | |
Added in GCC commit fb26050409473f5be54465beca114b7e48de43aa, released in 11.1.
|
| |/
| |
| |
| | |
Changed in GCC commit 0801f419440c14f6772b28f763ad7d40f7f7a580, released in 11.1.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tell the Fortran compiler to write preprocessor output directly to a
file, as we do for the GNU compiler. The previous "redirect stdout"
approach could break checks using flags that add information to stdout
when called with `-###`.
Fixes: #22156
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
9c479c7c40 IntelLLVM: Add special case for ifx 2021.1 version extraction
b7193ab18f Intel: Update Classic compiler version detection for 2021
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6052
|
| |
| |
| |
| |
| |
| |
| | |
The value of the `__INTEL_COMPILER` macro changed convention starting
in version 2021.
Fixes: #22120
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
c4941b7e66 ARMClang: Do not automatically add cpu/arch compile or link options
0078db3888 ARMClang: Separate cpu/arch flags from preceding flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jaeden Amero <kitware@patater.com>
Merge-request: !6035
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The compile options `--march=<arch>` and `--mcpu=<cpu>` and the
link option `--cpu=<cpu>` are automatically added by CMake based
on `CMAKE_SYSTEM_PROCESSOR` or `CMAKE_SYSTEM_ARCH`. But this is not
sufficient, because armclang also supports enabling or disabling
features using `+<feature>`:
-mcpu=<name>[+[no]<feature>+...]
For example:
-mcpu=cortex-a57+nocrypto+nofp+nosimd+crc
(Reference: https://developer.arm.com/documentation/dui0774/k/Compiler-Command-line-Options/-mcpu?lang=en)
The problem is, even if a project adds a flag with features it needs,
CMake still adds flags, resulting in code that is compiled with wrong
CPU features and unable to run.
Add policy `CMP0123` to not automatically add compile or link options,
and let projects set them instead.
Co-Author: Brad King <brad.king@kitware.com>
Fixes: #21173
|
| | |
| | |
| | |
| | | |
Suggested-by: Kim Kryger
|
|/ / |
|