summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'backport-cuda-non-device-link' into release-3.16Brad King2020-02-241-1/+1
|\ | | | | | | Merge-request: !4376
| * Ninja: Do not use nvcc response files with non-nvcc toolsFrancisco Facioni2020-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file` option to avoid long link command lines via a response file. However, for non-device linking the host tools are used and the option does not make sense. Update the logic to use `--options-file` only for device linking. Linking with the host tools already has its own logic for response files. Fixes: #19954
* | Merge topic 'nag-submodule' into release-3.16Brad King2020-01-161-0/+2
|\ \ | | | | | | | | | | | | | | | | | | f7f60ddcf9 Fortran: Add support for NAG Fortran submodules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4229
| * | Fortran: Add support for NAG Fortran submodulesNeil Carlson2020-01-151-0/+2
| | | | | | | | | | | | | | | | | | They use a `.sub` extension. Fixes: #20220
* | | ObjC: Add VISIBLITY_INLINES_HIDDEN supportCristian Adam2020-01-103-7/+5
|/ / | | | | | | Fixes: #20193
* | 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
| * | 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
* | | PCH: Add support for OBJC/OBJCXX languagesCristian Adam2019-11-031-0/+2
|/ /
* | 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.
| * | 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