summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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.
| * | CompileFeatures: Relax cxx_relaxed_constexpr compiler requirementsRobert Maynard2019-05-132-5/+3
| |/ | | | | | | | | This in effect means that cxx_relaxed_constexpr is now supported by MSVC and Intel 18.0-18.04.
* | Merge topic 'apple_clang_cxx_20_support'Brad King2019-05-141-1/+5
|\ \ | | | | | | | | | | | | | | | | | | 9523ca72e2 Features: Activate C++20 support for AppleClang 10.0+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3294
| * | Features: Activate C++20 support for AppleClang 10.0+Robert Maynard2019-05-071-1/+5
| |/
* | Merge topic 'apple_clang_full_cxx_14_support'Brad King2019-05-131-0/+2
|\ \ | | | | | | | | | | | | | | | | | | daad51c3b7 CompileFeatures: Record when AppleClang gained full CXX14 support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3293
| * | CompileFeatures: Record when AppleClang gained full CXX14 supportRobert Maynard2019-05-071-0/+2
| |/ | | | | | | | | | | | | 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.
* | IAR: Add architecture support for RL78, RH850 and MSP430Stefan Andersson2019-05-085-28/+53
|/
* CompileFeatures: Record when compilers gained full CXX14 supportRobert Maynard2019-05-023-0/+16
| | | | | | | 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.
* Merge topic 'IAR_6_x_fix'Brad King2019-05-012-3/+12
|\ | | | | | | | | | | | | | | 4d78bea5df IAR: Fail early in case of IAR ARM 4.XX 0b684524ac IAR: Fix building with IAR ARM 6.X Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3263
| * IAR: Fail early in case of IAR ARM 4.XXDaniel Schürmann2019-04-262-0/+8
| | | | | | | | This version is not yet supported because it uses xlink unsetad of ilink.
| * IAR: Fix building with IAR ARM 6.XDaniel Schürmann2019-04-252-3/+4
| | | | | | | | Use the correct version macros and version numbers.
* | Merge topic 'iar-binutils'Brad King2019-05-011-11/+14
|\ \ | | | | | | | | | | | | | | | | | | 01a4eec446 IAR: Changes required for Linux Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3262
| * | IAR: Changes required for LinuxStefan Andersson2019-04-251-11/+14
| |/
* | Merge topic 'memorize_cxx_compilers_with_full_CXX11_support'Brad King2019-05-015-17/+17
|\ \ | | | | | | | | | | | | | | | | | | 8d45a2ffe0 CompileFeatures: Record when compilers gained full CXX11 support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3232
| * | CompileFeatures: Record when compilers gained full CXX11 supportRobert Maynard2019-04-295-17/+17
| | | | | | | | | | | | | | | | | | | | | 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++11 feature support when the running compiler is known to have all features.
* | | Merge topic 'msvc-c-features'Brad King2019-04-301-2/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | eca275f63d CompileFeatures: Fix hard-coded MSVC C features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3247
| * | | CompileFeatures: Fix hard-coded MSVC C featuresBrad King2019-04-221-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 8e4899fd6c (CompileFeatures: Record which C features the MSVC compiler supports, 2019-04-12) our `cmake_record_c_compile_features` macro was accidentally left not setting the `_result` variable, which had previously been set by `_record_compiler_features`. The variable is expected by the call site in `cmake_determine_compile_features` and used to switch between "failed" and "done" reports. Set it now. Also record `c_variadic_macros` only for cl 14 (VS 2005) and higher because it is not supported before that version.
* | | | Project: Report intel's simulation of gcc.R. Andrew Ohana2019-04-251-0/+14
| |_|/ |/| |
* | | SunPro: Record support for C++14 features by SunPro 5.{14,15}Brad King2019-04-192-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SunPro 5.15 supports `-std=c++14` and several C++14 features. SunPro 5.14 accepts `-std=c++14` but does not update its definition of `__cplusplus` or any other macro to distinguish it from `-std=c++11`, so we need to blacklist a couple features that do work but that we cannot report for that version. We can still support `cxx_std_14`. Co-Author: Robert Maynard <robert.maynard@kitware.com>
* | | Merge topic 'add_xl_cxx14_support'Brad King2019-04-182-0/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 458ea9d76c XL: Add C++14 language level flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3235
| * | | XL: Add C++14 language level flagsRobert Maynard2019-04-152-0/+9
| | | |