| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
VS 2013 originally claimed to support initializer lists but a bug was
found in which it generated bad code silently. For this reason we
previously considered support to not be present. However, Update 3 adds
a hard error on cases that previously generated bad code, so it is now
safe to use initializer lists with VS 2013 Update 3 or greater. At
worst a compiler error will be issued in the cases that do not work, but
that is no different from any other compiler-specific workaround a
project code may need.
|
|
|
|
|
|
|
| |
The compiler documents that USE statements search for ".mod" files
in directories specified with -I, but not -isystem.
Reported-by: Hugh Sorby <h.sorby@auckland.ac.nz>
|
| |
|
| |
|
|
|
|
|
|
| |
Drop the 'UNIX' condition on GNU compiler features.
Suggested-by: David Demelier <demelier.david@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
Trunk already has these features and they are listed in the status
page. Also confirmed manually by running trunk.
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
The C90 flags were only the "89" versions until GNU 4.5.
The C11 flags were not introduced until GNU 4.6.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
|/
|
|
| |
It has similar C++11 capabilities compared to GCC 4.8.
|
|
|
|
|
| |
Adjust the CompileFeatures genex_test for the expectation of the
OVERRIDE_CONTROL feature group.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This release was prior to standardization of C11/CXX11.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
As listed in the reference document.
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
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+.
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
4ce110bb Tests: Revert workaround for COMPILE_FEATURES genex bug
0b7e7e27 Revert topic 'feature_record_msvc'
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
Tested with GNU 4.8 binary (bottle) from homebrew, and assumed to work
with the others.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Initializer lists are only properly supported in 2015 and above.
Previous Visual Studio releases said they supported initializer lists
but silently produced bad code.
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
Apple's Clang 5.1 already supports most of the C and C++ features CMake
enumerates.
|
|\
| |
| |
| |
| | |
d0af0fae WCDH: Make the header -Wundef safe for the C language.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
c03c184b Features: Record C++11 dialect switch only for GNU 4.7 and later.
|
| |/
| |
| |
| |
| | |
Previous versions of GNU are not currently supported by this
CMake feature.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
Modules/Compiler/Clang-C.cmake
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/ |
|
| |
| |
| |
| |
| | |
When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not
allow the definition of the "MSVC" variable to be expanded.
|
|\ \
| |/
| |
| |
| | |
ded30405 Features: Don't record for AppleClang
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
Avoid using -std=c++1y for compilers which support -std=c++14, for
example.
|
| |
| |
| |
| |
| | |
This doesn't make a difference, but the consistency with other files
is easier to reason about.
|