mirror of
https://github.com/reactos/CMake.git
synced 2024-11-25 20:49:41 +00:00
Features: Add cxx_inheriting_constructors.
This commit is contained in:
parent
ebab2015f9
commit
a579a0aab4
@ -52,6 +52,11 @@ The features known to this version of CMake are:
|
||||
|
||||
.. _N2928: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
|
||||
|
||||
``cxx_inheriting_constructors``
|
||||
Inheriting constructors, as defined in N2540_.
|
||||
|
||||
.. _N2540: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
|
||||
|
||||
``cxx_override``
|
||||
Override control ``override`` keyword, as defined in N2928_.
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
# Reference: http://gcc.gnu.org/projects/cxx0x.html
|
||||
|
||||
set(_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408")
|
||||
set(GNU48_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L")
|
||||
set(_cmake_feature_test_cxx_inheriting_constructors "${GNU48_CXX11}")
|
||||
# TODO: Should be supported by GNU 4.7
|
||||
set(GNU47_CXX11 "${_oldestSupported} && __cplusplus >= 201103L")
|
||||
set(_cmake_feature_test_cxx_delegating_constructors "${GNU47_CXX11}")
|
||||
|
@ -50,6 +50,7 @@
|
||||
F(cxx_deleted_functions) \
|
||||
F(cxx_explicit_conversions) \
|
||||
F(cxx_final) \
|
||||
F(cxx_inheriting_constructors) \
|
||||
F(cxx_override) \
|
||||
F(cxx_static_assert) \
|
||||
F(cxx_strong_enums) \
|
||||
|
18
Tests/CompileFeatures/cxx_inheriting_constructors.cpp
Normal file
18
Tests/CompileFeatures/cxx_inheriting_constructors.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
struct A
|
||||
{
|
||||
int m_i;
|
||||
|
||||
A(int i) : m_i(i) {}
|
||||
};
|
||||
|
||||
struct B : public A
|
||||
{
|
||||
using A::A;
|
||||
};
|
||||
|
||||
void someFunc()
|
||||
{
|
||||
int i;
|
||||
B b(i);
|
||||
}
|
Loading…
Reference in New Issue
Block a user