summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-102-6/+63
|
* Merge topic 'cuda_updates_for_10.2'Brad King2019-12-091-0/+23
|\ | | | | | | | | | | | | | | 5341f5e4a1 CUDA: get header deps from compiler invocation when possible 7f15c99851 CUDA: forward unknown flags to host compiler when possible. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4099
| * CUDA: get header deps from compiler invocation when possibleRobert Maynard2019-11-291-0/+7
| | | | | | | | | | Before CUDA 10.2 `nvcc` didn't support providing header dependency information while compiling.
| * CUDA: forward unknown flags to host compiler when possible.Robert Maynard2019-11-291-0/+16
| | | | | | | | | | | | | | | | | | | | Starting with CUDA 10.2 the nvcc compiler has gained support to automatically forward unknown flags to the host compiler. This behavior is highly desired as projcts that mix CUDA, C, C++ run into situation where flags such as `-pthread` which aren't supported by nvcc, are being applied to all source files and therefore break CUDA compilation.
* | Merge topic 'pch-xcode-no-warning'Brad King2019-12-052-2/+6
|\ \ | |/ |/| | | | | | | | | df8372da09 PCH: Do not add #pragma system_header for Xcode generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4098
| * PCH: Do not add #pragma system_header for Xcode generatorCristian Adam2019-12-042-2/+6
| | | | | | | | Fixes: #20039
| * Merge topic 'revert-FindBinUtils-ask-compiler' into release-3.16Brad King2019-11-081-16/+10
| |\ | | | | | | | | | | | | | | | | | | b2857514b0 FindBinUtils: Revert "Use the compiler to get the path to compiler tools" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4009
* | | XL: Add support for Ninja and XL FortranBrad King2019-11-212-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ninja generator's support for Fortran requires that source files be preprocessed explicitly first. However, the `xlf` compiler does not have a simple `-E` option or equivalent to do preprocessing. The only documented way to get preprocessed output is to use `-d` to leave it behind, but only at an inflexible location. Instead, create our own `cpp` wrapper script and substitute it for the real preprocessor using `-tF -B ...`. Teach the wrapper to map the `cpp` output to the location we need and then invoke the real `cpp` underneath. Fixes: #19450
* | | Merge topic 'revert-FindBinUtils-ask-compiler'Brad King2019-11-081-16/+10
|\ \ \ | | |/ | |/| | | | | | | | | | | | | b2857514b0 FindBinUtils: Revert "Use the compiler to get the path to compiler tools" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4009
| * | FindBinUtils: Revert "Use the compiler to get the path to compiler tools"Brad King2019-11-071-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | Revert commit b2fd479df5 (FindBinUtils: Use the compiler to get the path to compiler tools, 2019-09-22, v3.16.0-rc1~51^2). The compiler's answer may incorrectly come from the `PATH`. Another approach will be needed. Fixes: #19934
* | | Merge topic 'objc-pch'Brad King2019-11-051-0/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | e331367a89 PCH: Add support for OBJC/OBJCXX languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3983
| * | PCH: Add support for OBJC/OBJCXX languagesCristian Adam2019-11-031-0/+2
| |/
* | Refactor: Use added message types in various modulesAlex Turbov2019-11-021-3/+3
|/ | | | Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* IAR: Add 8051 supportMicael Borgefeldt2019-10-115-2/+19
| | | | Issue: #17264
* IAR: Fix v850 assembler support file extensionsMicael Borgefeldt2019-10-111-1/+1
| | | | | | | Fix the file extension added by commit 158f3795b8 (IAR: Add v850 assembler support, 2019-09-23, v3.16.0-rc1~70^2). Issue: #17264
* PCH: Use clang's own pch functionality instead of the GCC emulationCristian Adam2019-10-031-0/+3
| | | | Fixes: #19786
* Merge topic 'objective-c-cxx'Brad King2019-09-306-0/+158
|\ | | | | | | | | | | | | | | | | | | dd0f304613 Objective C/C++: Add compiler standard detection b515af782b Help: Add release note for Objective-C/C++ language support 9e66397c28 Languages: Add support for Objective-C++ 80f120a85f Languages: Add support for Objective-C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3811
| * Languages: Add support for Objective-C++Steve Wilson2019-09-283-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C++ compiler determination and identification. Add Modules to check Objective-C++ compiler flags, source compilations, program checks, etc... Use OBJCXX as the designator of the language, eg: project(foo OBJCXX) Add various tests for Objective-C++ language features. Add tests to preserve C++ handling of .M and .mm files when Objective-C++ is not a configured language. Co-authored-by: Cristian Adam <cristian.adam@gmail.com>
| * Languages: Add support for Objective-CSteve Wilson2019-09-283-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C compiler determination and identification. Add Modules to check Objective-C compiler flags, source compilations, program checks, etc... Use OBJC as the designator of the language, eg: project(foo OBJC) Add various tests for Objective-C language features. Add tests to preserve C++ handling of .m and .mm files when OBJC is not a configured language. Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
* | Merge topic 'FindBinUtils-ask-compiler'Brad King2019-09-271-10/+16
|\ \ | |/ |/| | | | | | | | | | | | | b2fd479df5 FindBinUtils: Use the compiler to get the path to compiler tools 587ccffe74 Tests: Add symbols to FortranModules static libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !3854
| * FindBinUtils: Use the compiler to get the path to compiler toolsIsuru Fernando2019-09-271-10/+16
| | | | | | | | Fixes: #19728
* | IAR: Add v850 assembler supportNico Mueller2019-09-231-0/+5
|/ | | | | | Assembler compiler configuration for 'v850' architecture Issue: #17264
* IAR: Add v850 supportNico Mueller2019-09-164-2/+12
| | | | | | Add compiler identification for V850. Issue: #17264
* Ninja: Pass preprocessor definitions when compiling with Intel FortranBrad King2019-09-031-0/+2
| | | | | | | | The Intel Fortran compiler supports an extension that allows conditional compilation based on preprocessor definitions specified on the command line even when not preprocessing. Fixes: #19664
* Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-283-0/+17
| | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Merge topic 'CrayPrgEnv-update-link-type-detection'Brad King2019-08-231-3/+17
|\ | | | | | | | | | | | | 971c778213 CrayPrgEnv: Change default linking mode based on PE version Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3716
| * CrayPrgEnv: Change default linking mode based on PE versionChuck Atkins2019-08-221-3/+17
| | | | | | | | | | | | | | Beginning with the 19.06 release of the Cray Programming Environment, the default linking mode on XC Cray systems is dynamic instead of static. This updates the CrayPrgEnv compiler wrappers to detect the PE version being used and behave accordingly.
* | CUDA: Compilers can now state they don't require a device linking stepRobert Maynard2019-08-061-0/+1
| |
* | Merge branch 'backport-clang-gnulike-support' into clang-gnulike-supportBrad King2019-07-241-0/+7
|\ \ | |/
| * Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that targets the MSVC ABI. However, Clang cannot compile with the MSVC standard library unless it runs in a mode aware of C++14 (since MSVC itself does not even have a lower mode). When `CMAKE_CXX_STANDARD` is set to 98 or 11, use C++14 anyway. Since Clang's default mode is aware of C++14, another option is to not add any flags for 98 or 11. However, if a future Clang version ever defaults to a higher C++ standard, setting the standard to 98 or 11 should at least not use a mode higher than 14. Also revert test updates from commit 4819ff9647 (Tests: fix failures with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that were meant to work around the standard selection problem. Fixes: #19496
| * Merge branch 'fortran-submodule-cray' into release-3.15Brad King2019-07-111-0/+2
| |\ | | | | | | | | | Merge-request: !3504
* | | XL: De-duplicate shared object creation flagsBrad King2019-07-151-0/+2
| | | | | | | | | | | | | | | | | | The XL `-qmkshrobj` flag creates shared objects on all platforms. Move the flag out of the per-platform modules into the per-compiler module for XL.
* | | Merge topic 'elseif'Brad King2019-07-101-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f4ed56ab63 Fix elseif() in place of else() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Acked-by: Rolf Eike Beer <eike@sf-mail.de> Merge-request: !3515
| * | | Fix elseif() in place of else()Artalus2019-07-031-1/+1
| | | |
* | | | Merge topic 'iar-riscv'Brad King2019-07-095-2/+16
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | c242187875 IAR: Add support for the RISC-V compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3510
| * | | IAR: Add support for the RISC-V compilerStefan Andersson2019-07-085-2/+16
| | | |
* | | | Merge topic 'fortran-submodule-cray'Brad King2019-07-081-0/+2
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | b0bcd4d7d2 Fortran: Add support for submodules on Cray 33de4d27eb Fortran: Support compilers using no module prefix on submodule files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3504
| * | Fortran: Add support for submodules on CrayWillem Deconinck2019-07-081-0/+2
| |/ | | | | | | | | | | | | | | Define `CMAKE_Fortran_SUBMODULE_{SEP,EXT}` for the Cray Fortran compiler. Use an empty separator to tell CMake that this compiler does not use the enclosing module name as a prefix on submodule files. Issue: #18925
* | CompileFeatures: document why lambda_init_captures requires GCC 4.9Robert Maynard2019-06-171-2/+2
|/
* Ninja: Add support for CUDA nvcc response filesFrancisco Facioni2019-06-031-0/+5
|
* Merge topic 'clang-gnulike-support'Brad King2019-05-291-2/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 74829f01b1 Help: Add notes for topic 'clang-gnulike-support' 19669abe1d Tests: handle string escaping differences with NMake+clang a2a90f41e3 Tests: require C++14 for the Tutorial 4819ff9647 Tests: fix failures with gnu mode clang on windows 26af0b25e7 cmake: use correct stack size with gnu mode clang on windows d44c0db0b2 clang: setup correct configuration in gnu mode b7d5ef23e9 cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu mode 3d0210d8dc binutils: add the llvm-* variants to the tool lists. ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Francesco Bertolaccini <francesco@bertolaccini.dev> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Saleem Abdulrasool <compnerd@compnerd.org> Merge-request: !2992
| * clang: setup correct configuration in gnu modeZsolt Parragi2019-05-231-2/+11
| |
* | ARMClang: fix policy manipulation in the compiler moduleBen Boeckel2019-05-231-3/+5
| | | | | | | | | | Policies have their own scoping and cannot be set within a function without affecting callers.
* | Merge topic 'armclang'Brad King2019-05-168-1/+109
|\ \ | | | | | | | | | | | | | | | | | | 7b0abaac31 ARMClang: Add support for Clang-based ARM compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3315
| * | ARMClang: Add support for Clang-based ARM compilerJohan Stridkvist2019-05-148-1/+109
| | | | | | | | | | | | Fixes: #18215
* | | Merge topic 'msvc-jmc'Brad King2019-05-152-0/+10
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 2a9ff9703e MSVC: Add support for /JMC (Just My Code) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3121
| * | MSVC: Add support for /JMC (Just My Code)Luca Cappa2019-05-142-0/+10
| |/
* | Merge topic 'relax_cxx_relaxed_constexpr_requirements'Brad King2019-05-144-12/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support 62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support 1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3292
| * | CompileFeatures: Record when MSVC gained full CXX14 supportRobert Maynard2019-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | Use the infrastructure added by commit 646fb1a646 (CompileFeatures: memoize C++ compilers with full language level support, 2019-03-27) to avoid using a `try_compile` to check for C++14 feature support when the running compiler is known to have all features.
| * | CompileFeatures: Record when Intel gained full CXX14 supportRobert Maynard2019-05-131-7/+1
| | | | | | | | | | | | | | | | | | | | | Use the infrastructure added by commit 646fb1a646 (CompileFeatures: memoize C++ compilers with full language level support, 2019-03-27) to avoid using a `try_compile` to check for C++14 feature support when the running compiler is known to have all features.