Commit Graph

51653 Commits

Author SHA1 Message Date
Brad King 0e60ec7480 Merge topic 'intel-llvm-compilers'
9b5fd04905 Tests: Disable MFC test for IntelLLVM due to #18311
ccdf7c0005 Tests: Skip VSGNUFortran test for ifx.
ddaf412dd0 Tests: Skip per file PDBs in PDBDirectoryAndName for IntelLLVM
a619b32768 Tests: Update RunCMake.GenerateExportHeader for IntelLLVM
661b04d6a6 Tests: Skip old PrecompiledHeader test on IntelLLVM
01b1e9c40d Tests: Update CompileFeatures test for IntelLLVM
f26f10184f Tests: Update Module.WriteCompilerDetectionHeader for IntelLLVM
3ceb364b1c Tests: Update RunCMake.FileAPI for IntelLLVM
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5594
2021-01-29 07:54:42 -05:00
Kitware Robot 59b5b6e11c CMake Nightly Date Stamp 2021-01-29 00:01:13 -05:00
Brad King 7dec962599 Merge branch 'release-3.19' 2021-01-28 11:27:04 -05:00
Brad King 0c86d15459 CMake 3.19.4 v3.19.4 2021-01-28 10:28:45 -05:00
William R. Dieter 9b5fd04905 Tests: Disable MFC test for IntelLLVM due to #18311
clang-cl cannot deal with implicit dependencies in UTF16 files
(see #18311).  IntelLLVM inherits this behavior from Clang.  The
MFC test uses `rc` in the way described in #18311 and gets the same
error described in #18311.  Disable the test until #18311 is fixed.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:02 -05:00
William R. Dieter ccdf7c0005 Tests: Skip VSGNUFortran test for ifx.
DLLEXPORT is not implemented in ifx yet, and required by this test.
2021-01-28 09:07:02 -05:00
William R. Dieter ddaf412dd0 Tests: Skip per file PDBs in PDBDirectoryAndName for IntelLLVM
The IntelLLVM C compiler do not yet support PDBs per file with the /Fd
option.  Disable the parts of PDBDirectoryAndName that tries to generate
them so that the test will pass.
2021-01-28 09:07:02 -05:00
Brad King a619b32768 Tests: Update RunCMake.GenerateExportHeader for IntelLLVM
On Windows, the expected results are like Clang's.
2021-01-28 09:07:01 -05:00
Brad King 661b04d6a6 Tests: Skip old PrecompiledHeader test on IntelLLVM
This test uses hard-coded flags for a fixed set of compilers.
We have first-class PCH support implemented for IntelLLVM.
2021-01-28 09:07:01 -05:00
Brad King 01b1e9c40d Tests: Update CompileFeatures test for IntelLLVM
We do not have granular features for this compiler.
2021-01-28 09:07:01 -05:00
Brad King f26f10184f Tests: Update Module.WriteCompilerDetectionHeader for IntelLLVM 2021-01-28 09:07:01 -05:00
Brad King 3ceb364b1c Tests: Update RunCMake.FileAPI for IntelLLVM 2021-01-28 09:07:01 -05:00
William R. Dieter 12720a5b71 Tests: Update MSVCRuntimeLibrary.Fortran test for IntelLLVM
`ifx` needs the same command line arguments as `ifort`.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter d83df2af57 Tests: Update Preprocess test for IntelLLVM
Work around an icx bug in command line handling of preprocessor macros.

A `\\\"` string in a macro passed to icx on the command line is not
properly parsed in compiler versions 2021.1.0 and earlier.  This problem
is expected to be fixed, though a target release has no been set yet.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter 7de61526a0 Tests: Update CPack DEBUGINFO tests for IntelLLVM
By default icx and icpx do not add build IDs when linking, so enable
the build ID to make the test pass.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
Brad King ae9f986da1 Tests: Update Assembler test for IntelLLVM
Enable parts of the test the same way we do for `Intel`.
2021-01-28 09:07:01 -05:00
William R. Dieter 882baca37b Tests: Update Fortran tests for IntelLLVM
Update checks for the `Intel` compiler id to match `IntelLLVM` too.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter aedb9add56 FindBLAS: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter 37ac9df342 FindBoost: Add support for IntelLLVM
Use the same code paths as the `Intel` compiler.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 042aba3db4 FindOpenMP: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 90941a1896 FindMPI: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 67dfc6556c IRSL: Add support for IntelLLVM
Use the same code paths as the `Intel` compiler id.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
Brad King 32498d0665 cmake: Reduce default recursion depth when compiling with IntelLLVM
This compiler makes stack frames large enough (at least in Debug
builds) that CMake language recursion to depth 1000 overflows the
stack.  Reduce the limit for this compiler.
2021-01-28 09:07:00 -05:00
Brad King 87909f0600 Utilities: Suppress warnings in third-party code when using IntelLLVM 2021-01-28 09:07:00 -05:00
William R. Dieter a90d2a9eed IntelLLVM: Add support for Intel LLVM-based compilers
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>
2021-01-28 09:05:35 -05:00
William R. Dieter 9bef4bef0f GenerateExportHeader: Recognize Intel < 12 more strictly
Match exactly the `Intel` compiler id.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter f5d79dec53 Tests: Cleanup CPack message when files are expected and none are found
Previously, when looking for exactly one file and the number of files
was not one, the test printed out an error message saying that too many
files were found, then printing the list of files.  However, 0 is not
1 and also not too many files.

To reduce confusion, this commit adds a different message when 0 files
are found and 1 is expected.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter f6f048898d Tests: Update RunCMake.DependencyGraph to canonicalize paths when comparing
A symbolic link in the path was causing false path mismatches.
Resolving the symlinks makes both paths identical.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter 49d7e0c91d Tests: Make GCOV test more robust to symbolic links in paths
Symbolic links in the path to the cmake build directory caused some
paths to have '..' directories in the path, which are equivalent, but
not a string match for the expected path.  As a result, some tests fail.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter f905cfdc77 Tests: Fix Fortran test C function prototypes
Several extern functions were declared without return type, which results
in warnings.  The functions are for calling Fortran subroutines, so
there should not be a return value.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter 4c7e2615b8 Tests: Use the CVS :local: access method for local directories
Windows absolute paths start with a drive letter, followed by the path.
Without an explicit access method specification, CVS treats the drive
letter as a host name.  This changes explicitly adds `:local:` to local
directory repository paths used in tests to avoid this confusion.

See the CVS Manual [1] for more information.

[1] https://www.gnu.org/software/trans-coord/manual/cvs/cvs.html#Repository

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
Brad King 549eedfe85 Tests: Fix CMP0115 warnings in CompileFeatures test
Pass source file extensions explicitly.
2021-01-28 09:05:34 -05:00
Brad King b369aee24d Merge topic 'nvhpc-compiler'
4de28ba4e6 Tests: Update tests for NVHPC compiler
90502d76b7 FindOpenMP: Add support for NVHPC compiler
76dee5831b FindOpenACC: Add support for NVHPC compiler
ff7bab83c2 GenerateExportHeader: Add support for NVHPC compiler
83ea49818f NVHPC: Add support for NVIDIA HPC SDK compilers based on PGI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5475
2021-01-28 09:03:10 -05:00
Brad King c498a8ad0b Merge topic 'ci-aarch64'
430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job
300a91d42d gitlab-ci: add build:centos7-aarch64 job
d997637fa3 gitlab-ci: add rules infrastructure to allow non-MR jobs
a54e43670d gitlab-ci: rename build:centos6-{release => x86_64}
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
227ca689a7 ci: download cmake on aarch64
a601ed8e0e ci: download ninja on aarch64
54c2c5f889 ci: generalize ninja download script to support non-upstream builds
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5745
2021-01-28 08:38:42 -05:00
Kitware Robot f2c4ea6807 CMake Nightly Date Stamp 2021-01-28 00:04:15 -05:00
Brad King 430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job 2021-01-27 11:59:54 -05:00
Brad King 300a91d42d gitlab-ci: add build:centos7-aarch64 job
Test building our release for the `aarch64` architecture.
For now, leave this job out during merge requests.
2021-01-27 11:59:54 -05:00
Brad King d997637fa3 gitlab-ci: add rules infrastructure to allow non-MR jobs 2021-01-27 11:59:30 -05:00
Brad King a54e43670d gitlab-ci: rename build:centos6-{release => x86_64}
This makes room for a future equivalent for other architectures.
2021-01-27 10:29:38 -05:00
Brad King 616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
Use `linux_release` in names associated with building or testing
release-style binaries.  Add a `.linux_package` helper to adjust
the release binary build behavior for package-specific jobs.
2021-01-27 10:29:38 -05:00
Brad King 227ca689a7 ci: download cmake on aarch64 2021-01-27 10:29:38 -05:00
Brad King a601ed8e0e ci: download ninja on aarch64 2021-01-27 10:29:38 -05:00
Brad King 54c2c5f889 ci: generalize ninja download script to support non-upstream builds 2021-01-27 10:29:38 -05:00
Brad King 88e049e327 ci: add docker spec to build ninja for linux-aarch64 2021-01-27 10:29:38 -05:00
Brad King eefa0ed0fa ci: update to use CMake 3.19.3 2021-01-27 10:20:46 -05:00
Tin Huynh 4de28ba4e6 Tests: Update tests for NVHPC compiler
Treat it just like PGI.
2021-01-27 09:53:02 -05:00
Tin Huynh 90502d76b7 FindOpenMP: Add support for NVHPC compiler 2021-01-27 09:53:02 -05:00
Tin Huynh 76dee5831b FindOpenACC: Add support for NVHPC compiler 2021-01-27 09:53:02 -05:00
Brad King ff7bab83c2 GenerateExportHeader: Add support for NVHPC compiler
Treat it just like PGI.
2021-01-27 09:53:02 -05:00
Tin Huynh 83ea49818f NVHPC: Add support for NVIDIA HPC SDK compilers based on PGI
Identify the compilers as `NVHPC` to distinguish it from the older PGI
compilers from which they evolved, and from other `NVIDIA` compilers.

Fixes: #20887
2021-01-27 09:53:02 -05:00