summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* Features: Make cxx_noexcept available from GNU 4.6.Stephen Kelly2015-01-151-1/+1
| | | | As listed in the reference document.
* Features: Ensure appropriate return value from feature test macros.Stephen Kelly2015-01-156-12/+5
| | | | | | | GNU-CXX already has complex logic and sets the _result to 0 before tests which may set it to something else. Change the other modules to be consistent with that.
* Merge topic 'Xcode-clang-compile-features'Brad King2015-01-154-17/+44
|\ | | | | | | | | | | | | dcd72a74 Help: Add notes for topic 'Xcode-clang-compile-features' 3ad893b5 Features: Record for historical Xcode clang versions. 98965fb1 Features: Record dialect flags for AppleClang 4.0+.
| * Features: Record for historical Xcode clang versions.Stephen Kelly2015-01-114-15/+39
| |
| * Features: Record dialect flags for AppleClang 4.0+.Stephen Kelly2015-01-112-2/+5
| |
* | Merge topic 'revert-feature_record_msvc'Brad King2015-01-152-120/+0
|\ \ | | | | | | | | | | | | | | | 4ce110bb Tests: Revert workaround for COMPILE_FEATURES genex bug 0b7e7e27 Revert topic 'feature_record_msvc'
| * | Revert topic 'feature_record_msvc'Brad King2015-01-142-120/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commits: 2d738ce3 Help: Add notes for topic 'feature_record_msvc' f73718c9 Features: Enable writing of MSVC compiler feature header. 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015. 225c0ef8 Features: Record for MSVC 2010-2013. This topic was merged to master prematurely, so remove it.
* | | Record compile features for GNU on Apple.Stephen Kelly2015-01-112-3/+3
| | | | | | | | | | | | | | | Tested with GNU 4.8 binary (bottle) from homebrew, and assumed to work with the others.
* | | Merge topic 'feature_record_msvc'Brad King2015-01-112-0/+120
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 2d738ce3 Help: Add notes for topic 'feature_record_msvc' f73718c9 Features: Enable writing of MSVC compiler feature header. 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015. 225c0ef8 Features: Record for MSVC 2010-2013.
| * | Features: Record for MSVC C++ 2015 and MSVC C 2010-2015.Robert Maynard2015-01-112-16/+71
| | | | | | | | | | | | | | | | | | Initializer lists are only properly supported in 2015 and above. Previous Visual Studio releases said they supported initializer lists but silently produced bad code.
| * | Features: Record for MSVC 2010-2013.Stephen Kelly2015-01-111-0/+65
| |/
* | Features: Record cxx_variable_templates for GNU 5.0.Stephen Kelly2015-01-011-0/+7
|/
* Oracle/Sun: Fix Fortran preprocessor rule generationBrad King2014-12-231-1/+1
| | | | | | | | | The SunPro Fortran compiler uses "-F" instead of "-E" to request preprocessing. The output does not go to stdout so use "-o" to specify the output file. This fixes the guess originally made by commit b6b37e30 (Makefile: Add assembly and preprocessed targets for Fortran, 2014-11-05).
* Features: Record for AppleClang 5.1Stephen Kelly2014-12-224-0/+104
| | | | | Apple's Clang 5.1 already supports most of the C and C++ features CMake enumerates.
* Merge topic 'C-features-Wundef'Brad King2014-11-262-4/+4
|\ | | | | | | | | d0af0fae WCDH: Make the header -Wundef safe for the C language.
| * WCDH: Make the header -Wundef safe for the C language.Stephen Kelly2014-11-252-4/+4
| | | | | | | | | | | | | | | | | | The __STDC_VERSION__ macro may be defined or not depending on the implementation dialect of C. Test that it is defined before testing its value. The CXX tests do not need such a change because they define __cplusplus in all dialects.
* | Merge topic 'fix-GNU-CXX-dialect-versions'Brad King2014-11-251-4/+3
|\ \ | | | | | | | | | | | | c03c184b Features: Record C++11 dialect switch only for GNU 4.7 and later.
| * | Features: Record C++11 dialect switch only for GNU 4.7 and later.Stephen Kelly2014-11-191-4/+3
| |/ | | | | | | | | Previous versions of GNU are not currently supported by this CMake feature.
* | Merge branch 'default-lang-dialect' into step2Stephen Kelly2014-11-202-5/+12
|\ \ | | | | | | | | | | | | Conflicts: Modules/Compiler/Clang-C.cmake
| * | Features: Fix the default C dialect for Clang and GNU.Stephen Kelly2014-11-202-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang 3.4 uses C99 by default, and Clang 3.6 uses C11 by default: http://thread.gmane.org/gmane.comp.compilers.clang.devel/39379 GNU 4.9 uses C90 by default, and GNU 5.0 uses C11 by default: https://gcc.gnu.org/gcc-5/changes.html Test that the default compiler settings result in the expected dialect macros being defined for both C and CXX. Remove the unused main.c file from the CompileFeatures unit test.
| * | Features: Fix references to CXX compiler version in Clang-C.cmake.Stephen Kelly2014-11-181-2/+2
| |/
* | Avoid if() quoted auto-dereference when checking for "MSVC"Fraser Hutchison2014-11-193-4/+4
| | | | | | | | | | When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not allow the definition of the "MSVC" variable to be expanded.
* | Merge topic 'no-AppleClang-C-features'Brad King2014-11-131-1/+2
|\ \ | |/ | | | | | | ded30405 Features: Don't record for AppleClang
| * Features: Don't record for AppleClangStephen Kelly2014-11-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Features are currently recorded accidentally for all versions of AppleClang > 3.4 (I have no idea how that relates to upstream Clang). Presumably that version has the features which are accidentally recorded, but in the future features will be recorded initially for only AppleClang >= 5.1, which would appear as a feature regression. Commit v3.1.0-rc1~635^2~11 (Don't load Clang-CXX from AppleClang-CXX., 2013-11-11) ajusted the logic for the CXX language. Make a similar change for the C language.
* | Features: Run GNU feature tests with std=c++14 when available.Stephen Kelly2014-11-121-1/+4
| |
* | Features: Use the correct dialect flag when recording features.Stephen Kelly2014-11-124-16/+16
| | | | | | | | | | Avoid using -std=c++1y for compilers which support -std=c++14, for example.
* | Features: Reorder the GNU C dialect feature testsStephen Kelly2014-11-121-2/+2
| | | | | | | | | | This doesn't make a difference, but the consistency with other files is easier to reason about.
* | Features: Split the Clang testable features to a separate file.Stephen Kelly2014-11-112-53/+55
| | | | | | | | These tests can be shared with the AppleClang compile feature tests.
* | Makefile: Add assembly and preprocessed targets for FortranTim Gallagher2014-11-106-11/+10
|/ | | | Extend the FortranOnly test to cover "make <src>.i" targets.
* Clang: Enable c++14 dialect flag with Clang 3.5.Stephen Kelly2014-09-171-1/+4
|
* Clang: Don't overwrite c++11 compile option value with c++14 flag.Stephen Kelly2014-09-171-2/+2
|
* Add Fujitsu compiler detectionErik Lindahl2014-08-111-0/+2
| | | | | | 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.
* Merge topic 'fix-QCC-compile-flags'Brad King2014-07-213-0/+38
|\ | | | | | | | | 3151024d QNX: Add missing flags for configurations and artifact creation.
| * QNX: Add missing flags for configurations and artifact creation.Stephen Kelly2014-07-173-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.0.0-rc1~111^2 (QNX: Introduce QCC compiler id for that QNX platform compiler., 2014-01-20) split handling of the QNX QCC compiler into a separate compiler-id. That refactoring results in the QCC compiler not using the CMake-compiler-id "GNU", which means that the __compiler_gnu macro is no longer executed for it. Add Compiler/QCC*.cmake modules to define and call the __compiler_qcc macro and teach it to call __compiler_gnu internally. Remove the corresponding pieces from the Platform/QNX*.cmake modules. It is also necessary to change the language conditional to dereference the lang macro parameter, which is another bug introduced by the same commit. The extra -lang-c++ flag is only necessary when the CXX compiler is specified as 'qcc' instead of 'QCC' in the toolchain file, which is why this bug was not noticed before. The flag is also necessary in that case when linking in order to find the appropriate standard libraries. The flag was not previously added when linking executables, so linking failed even with CMake 2.8.12 with the lower-case compiler-id. Co-Author: Brad King <brad.king@kitware.com>
* | Project: Add configurable name for version computation macros.Stephen Kelly2014-06-0525-87/+87
| |
* | Project: Separate simulated compiler id from version detection.Stephen Kelly2014-06-052-2/+10
| |
* | Features: Add support for C++14 features.Stephen Kelly2014-05-223-1/+49
| | | | | | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* | Features: Record for Clang 3.4Stephen Kelly2014-05-204-1/+142
| | | | | | | | Clang 3.4 supports all features currently known to CMake.
* | Merge topic 'compile-features-C-language'Brad King2014-05-202-0/+44
|\ \ | | | | | | | | | | | | e0890d03 Features: Extend concept to C language.
| * | Features: Extend concept to C language.Stephen Kelly2014-05-142-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* | | Features: Only require AppleClang policy to be NEW on APPLE.Stephen Kelly2014-05-141-1/+1
|/ /
* | Merge topic 'features-gnu-oldest-supported'Brad King2014-05-121-10/+9
|\ \ | | | | | | | | | | | | f782417b Features: Record the oldest supported compiler.
| * | Features: Record the oldest supported compiler.Stephen Kelly2014-05-081-10/+9
| | | | | | | | | | | | | | | This may be used to ensure that features are reported correctly only if the compiler minimum version is met.
* | | Features: Fix GNU 4.8.1 version test.Stephen Kelly2014-05-101-1/+1
| | |
* | | Tests: Make CompileFeature tests use highest standard known.Stephen Kelly2014-05-091-0/+2
|/ / | | | | | | | | | | | | | | Remove the use of check_cxx_source_compiles which is now just getting in the way. Blacklist the cxx_alignof feature in the test with GNU 4.7. The test file compiles, but it is documented as available first in GNU 4.8.
* | Merge topic 'GNU-4.7-features'Brad King2014-05-082-4/+3
|\ \ | | | | | | | | | | | | 9cbc63e4 Features: Record for GNU 4.7.
| * | Features: Record for GNU 4.7.Stephen Kelly2014-05-072-4/+3
| | | | | | | | | | | | | | | Update the CompileFeatures test to verify that unsupported features do not work.
* | | Merge topic 'minor-cleanups'Brad King2014-05-081-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 47795421 Fix whitespace in docs. aa283b6b Features: Fix test for GNU 4.8.1. bbfd4cd4 Features: Include the language of the compiler in error messages.
| * | | Features: Fix test for GNU 4.8.1.Stephen Kelly2014-05-071-1/+1
| | | |
* | | | Merge topic 'hp-cpp98-tests'Brad King2014-05-081-0/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | b0f277db HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards