| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using a single ID 'IntelLLVM' for the suite of Intel compilers based on
the LLVM backend. The 'IntelLLVM' ID are used for C, C++, and Fortran.
Data Parallel C++ will be handled in a separate commit.
The C and C++ definitions are based on the Clang definitions. The Intel
LLVM-based C and C++ compilers are based on the Clang front end, so
existing Clang options are more likely to be a good match than options
for the older Intel compilers.
Fortran is based on the older Fortran front end with the LLVM backend.
It has a similar interface to the older versions, though many options
are shared with the C and C++ compilers.
Fixes: #21561
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
|
|
|
|
|
|
|
| |
Identify the compilers as `NVHPC` to distinguish it from the older PGI
compilers from which they evolved, and from other `NVIDIA` compilers.
Fixes: #20887
|
|
|
|
|
|
|
|
|
|
| |
Revert commit 887f3a88a6 (Intel: Add Intel DPC++ compiler
identification, 2020-09-21, v3.19.0-rc1~124^2). The compiler has
already been released, and is more usable with CMake by pretending to be
upstream Clang than by identifying it as a compiler for which we have
not implemented support.
Fixes: #21551
|
|
|
|
|
|
|
|
|
|
| |
Revert commit 5c3a93ab88 (Intel: Add Intel Clang compiler
identification, 2020-09-29, v3.19.0-rc1~68^2). The compiler has already
been released, and is more usable with CMake by pretending to be
upstream Clang than by identifying it as a compiler for which we have
not implemented support.
Issue: #21551
|
|
|
|
|
| |
The compiler identifies itself with the `__INTEL_CLANG_COMPILER`
preprocessor definition.
|
|
|
|
|
| |
The compiler identifies itself with the `__INTEL_DPCPP_COMPILER__`
preprocessor definition.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When crosscompiling we pass the sysroot.
We need to try various architecture flags. Clang doesn't automatically
select one that works. First try the ones that are more likely to work
for modern installations:
* <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for
future compatibility.
* <=sm_20 is removed since CUDA 9.0, try sm_30.
Otherwise fallback to Clang's current default. Currently that's `sm_20`,
the lowest it supports.
Separable compilation isn't supported yet.
Fixes: #16586
|
|
|
|
| |
Fixes: #18215
|
|\
| |
| |
| |
| |
| |
| | |
8f8d056051 ARMCC: Fix identification of ARM compiler when it defines GNU macros
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3127
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to ARMCC 5.06 documentation:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472m/chr1359125007083.html
the compiler may define `__GNUC__` in addition to `__ARMCC_VERSION`.
Re-order our preprocessor checks to consider the ARM-specific macro
first so that the ARM compiler is not mistaken for a GNU compiler.
Fixes: #19065
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
e21bae378d WCDH: Restore definition for <prefix>_COMPILER_IS_MIPSpro
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3043
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Code removed for MIPSpro by commit 214fcefa52 (Remove now-unused code
once used for MIPSpro on IRIX, 2019-02-21) actually changed a
public-facing API by dropping the `<prefix>_COMPILER_IS_MIPSpro`
definition from the generated compiler detection header. Restore the
definition hard-coded to `0` since the compiler will never be MIPSpro.
Reported-by: Hans Johnson <hans-johnson@uiowa.edu>
|
|/ / |
|
|/
|
|
|
|
| |
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
|
|
|
|
|
|
|
|
|
|
|
|
| |
-- Detect GHS compiler and version
Detect ARCHITECTURE_ID for PPC / ARM / 86 targets
Detect PLATFORM_ID for Integrity and Integrity178 platforms
Using defines specified in the documents for the compilers: 201416 PPC / 201754 ARM / 201714 86
-- Fallback C/CXX compiler ID to GHS if not otherwise detected and using GHS MULTI generator
Works around issue with some GHS compilers not setting __ghs__ compiler define
-- Tweak Compiler ID checking so major id of 002017 is not replaced with 217
-- Prefer try_compile() library targets when testing for working GHS compilers
-- Avoid CMake errors if reading past end of file for checking if file is PE executable
|
|
|
|
|
| |
We dropped support for IRIX as a host platform long ago.
Remove some leftover code.
|
|
|
|
|
|
|
| |
Automate with:
find Modules -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cmake_parse_arguments command is builtin with version 3.5.
The CMakeParseArguments module is empty and exists for backwards
compatibility with CMake 3.4 and lower.
Remove the includes of CMakeParseArguments from CMake's modules.
The modules are always used with the current version of CMake.
Leave the includes in the tests, as the tests may be run with an older
version of CMake.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool. Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience. Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.
Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices. It also references version control
history for more precise information. Therefore we no longer need to spell
out the list of Contributors in each source file notice.
Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing". The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.
Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically. Manually fix up shebang lines and trailing
newlines in a few files. Manually update the notices in a few files that the
script does not handle.
|
|
|
|
|
|
|
| |
Automate with:
find Modules -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
|
|
|
|
| |
Revise C compiler detection code to be K&R compatible.
|
|
|
|
|
|
|
|
| |
Create an `ARMCC` compiler id corresponding to compilers identified and
versioned by the `__ARMCC_VERSION` predefined macro. See documentation
for the compilers at
http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html
|
|
|
|
|
|
| |
The Fujitsu C/C++ compilers are the default ones for K computer.
Detect both native and cross compilers by looking for the __FUJITSU
preprocessor definition.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit v2.8.10.1~5^2 (Fix PathScale compiler id for Clang-based
upstream, 2012-11-05) re-ordered the detection logic for PathScale.
Other compiler vendors are also producing Clang-based frontends, so
detect "actual" Clang as one of the last compilers to allow for others
doing the same.
http://llvm.org/devmtg/2014-04/PDFs/Posters/ClangIntel.pdf
http://docwiki.embarcadero.com/RADStudio/XE5/en/Clang-based_C%2B%2B_Compilers
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
This can be extended with parameters to control the output and re-used
in other contexts.
|