summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-C-standard-features'Brad King2015-02-0510-13/+26
|\ | | | | | | | | | | | | | | | | fb3487a9 Features: Fix C90 feature detection. 6027798a Features: Allow setting standard dialect below the default. 9d767810 Features: Populate CMAKE_<LANG>_STANDARD_DEFAULT only for supported compilers. 72537e44 Features: Add dialect compile flags only if default is known. 82c9d686 AppleClang: Remove redundant UNIX condition.
| * Features: Fix C90 feature detection.Stephen Kelly2015-02-043-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug caused c_function_prototypes to not be recorded at configure time when compiling with -std=gnu99 or similar. In the case of feature recording, that was not a problem, because the logic in CMakeDetermineCompileFeatures.cmake currently assumes that a feature present for an earlier standard is present for a later standard. However, the detection strings are also used in WriteCompilerDetectionHeader, so the feature macro has been defined to '0' when using a later language dialect. Fix that by not checking the existence of the __STDC_VERSION__ macro at all when detecting C90 features.
| * Features: Populate CMAKE_<LANG>_STANDARD_DEFAULT only for supported compilers.Stephen Kelly2015-02-047-8/+21
| | | | | | | | | | | | If no compiler feature information is known for a given compiler version, do not set a language standard default either. The two settings must be recorded consistently.
| * AppleClang: Remove redundant UNIX condition.Stephen Kelly2015-02-042-2/+2
| |
* | Features: Update GNU 5.0 C++14 features.Stephen Kelly2015-01-311-0/+2
|/ | | | | Trunk already has these features and they are listed in the status page. Also confirmed manually by running trunk.
* Features: Record for MSVC 2010-2015Robert Maynard2015-01-302-0/+112
| | | | | | | Also, in WCDH add MSVC Compatibility for cxx_align{of,as}. Co-Author: Stephen Kelly <steveire@gmail.com> Co-Author: Brad King <brad.king@kitware.com>
* Merge topic 'GNU-4.4-compile-features'Brad King2015-01-221-3/+10
|\ | | | | | | | | | | | | 965a50dc Features: Fix GNU 4.4 and 4.5 C standard level flags 7f4154a4 Features: Fix CompileFeatures non-feature tests for space in path f40c19b5 Features: Fix CompileFeatures test for C non-features
| * Features: Fix GNU 4.4 and 4.5 C standard level flagsBrad King2015-01-211-3/+10
| | | | | | | | | | The C90 flags were only the "89" versions until GNU 4.5. The C11 flags were not introduced until GNU 4.6.
* | Merge topic 'GNU-4.4-compile-features'Brad King2015-01-194-14/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | 004e1540 Features: Record for GNU 4.4. 2a5ca650 Features: Wrap failure-test in UNIX condition. 1ae2c6b2 Features: Blacklist cxx_constexpr test for GNU 4.5. c66e3317 Features: Use a more-common feature in cycle-test. c43a6dc5 Features: Update comment in test to match the code. 78259135 Features: Test presence of cxx_auto_type with genex. 7b9fc88b Features: Remove outdated comment.
| * Features: Record for GNU 4.4.Stephen Kelly2015-01-184-13/+11
| |
| * Features: Remove outdated comment.Stephen Kelly2015-01-171-1/+0
| |
* | Features: Record for SolarisStudio 12.4.Stephen Kelly2015-01-172-0/+73
|/ | | | It has similar C++11 capabilities compared to GCC 4.8.
* Features: Record for GNU 4.6.Stephen Kelly2015-01-154-6/+6
| | | | | Adjust the CompileFeatures genex_test for the expectation of the OVERRIDE_CONTROL feature group.
* Features: Test __GXX_EXPERIMENTAL_CXX0X__ macro for GNU < 4.7 compatibility.Stephen Kelly2015-01-151-7/+12
|
* Features: Don't test __cplusplus value for CXX98 on GNU.Stephen Kelly2015-01-151-1/+1
| | | | | | | | The macro is defined to 1 for GNU 4.6, and such a test is only useful for features in language dialects newer than the default (CXX98 for GNU currently). Test only that it has a truthy value.
* Features: Test an old value of __STDC_VERSION__ for GNU < 4.7 compatibility.Stephen Kelly2015-01-151-1/+6
|
* Features: Record C/CXX dialect flags for GNU 4.6.Stephen Kelly2015-01-152-2/+10
| | | | This release was prior to standardization of C11/CXX11.
* Features: Remove wrong content from else() condition.Stephen Kelly2015-01-151-1/+1
| | | | | | | | | | | | As this is not elseif(), the content has no effect. Rather than changing it to an elseif(), remove the conditional content. All versions of GNU prior to 5.0 default to C90/89. Clang-C.cmake has a similar code block which correctly uses elseif() for setting the default C dialect to C99. That may have been updated from a C90 default at some point, so leave the version condition there in place for now.
* 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.