[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1882-g75b59b4
Stephen Kelly
steveire at gmail.com
Fri Apr 4 08:30:07 EDT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 75b59b4d73cf144326f0297e63411d22e713b5ab (commit)
via 647922af0bd17041bd3e74fb57dad80870c268a9 (commit)
via c4879c4f7dacf30fde69ed41c204a3cdbdba7dc1 (commit)
via 16e781e2363da4c5a370ddae94d9b3177997775a (commit)
via 2653f1ca1af4a926be03a6e97998d8004ef0d33b (commit)
via 41580820ab191c79cd0ccb126cc4935fefd2a3ed (commit)
from 238a7095a86fec3b4461091c8bca314868fde273 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=75b59b4d73cf144326f0297e63411d22e713b5ab
commit 75b59b4d73cf144326f0297e63411d22e713b5ab
Merge: 238a709 647922a
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 08:30:05 2014 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Apr 4 08:30:05 2014 -0400
Merge topic 'cxx11-features' into next
647922af Features: Add cxx_attributes.
c4879c4f Features: Add cxx_alignof.
16e781e2 Features: Add cxx_alignas.
2653f1ca Fix inheriting constructors version.
41580820 Features: Add cxx_extern_templates.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=647922af0bd17041bd3e74fb57dad80870c268a9
commit 647922af0bd17041bd3e74fb57dad80870c268a9
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 14:10:17 2014 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Apr 4 14:25:19 2014 +0200
Features: Add cxx_attributes.
diff --git a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
index f872dcc..c6ac7d7 100644
--- a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
+++ b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -156,3 +156,8 @@ The features known to this version of CMake are:
Alignment control ``alignof``, as defined in N2341_.
.. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
+``cxx_attributes``
+ Generic attributes, as defined in N2761_.
+
+.. _N2761: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index b885434..c09efe5 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -7,6 +7,7 @@ set(GNU48_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 2011
set(_cmake_feature_test_cxx_inheriting_constructors "${GNU48_CXX11}")
set(_cmake_feature_test_cxx_alignas "${GNU48_CXX11}")
set(_cmake_feature_test_cxx_alignof "${GNU48_CXX11}")
+set(_cmake_feature_test_cxx_attributes "${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}")
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 2f7590e..c1191e8 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -70,7 +70,8 @@
F(cxx_unrestricted_unions) \
F(cxx_extern_templates) \
F(cxx_alignas) \
- F(cxx_alignof)
+ F(cxx_alignof) \
+ F(cxx_attributes)
class cmMakefile::Internals
{
diff --git a/Tests/CompileFeatures/cxx_attributes.cpp b/Tests/CompileFeatures/cxx_attributes.cpp
new file mode 100644
index 0000000..2ff982b
--- /dev/null
+++ b/Tests/CompileFeatures/cxx_attributes.cpp
@@ -0,0 +1,2 @@
+
+void unusedFunc [[unused]] () { }
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c4879c4f7dacf30fde69ed41c204a3cdbdba7dc1
commit c4879c4f7dacf30fde69ed41c204a3cdbdba7dc1
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 13:55:27 2014 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Apr 4 14:25:19 2014 +0200
Features: Add cxx_alignof.
diff --git a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
index 511040b..f872dcc 100644
--- a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
+++ b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -151,3 +151,8 @@ The features known to this version of CMake are:
Alignment control ``alignas``, as defined in N2341_.
.. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
+``cxx_alignof``
+ Alignment control ``alignof``, as defined in N2341_.
+
+.. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 906d3e1..b885434 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -6,6 +6,7 @@ set(_cmake_feature_test_cxx_reference_qualified_functions
set(GNU48_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L")
set(_cmake_feature_test_cxx_inheriting_constructors "${GNU48_CXX11}")
set(_cmake_feature_test_cxx_alignas "${GNU48_CXX11}")
+set(_cmake_feature_test_cxx_alignof "${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}")
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index c7c458e..2f7590e 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -69,7 +69,8 @@
F(cxx_unicode_literals) \
F(cxx_unrestricted_unions) \
F(cxx_extern_templates) \
- F(cxx_alignas)
+ F(cxx_alignas) \
+ F(cxx_alignof)
class cmMakefile::Internals
{
diff --git a/Tests/CompileFeatures/cxx_alignof.cpp b/Tests/CompileFeatures/cxx_alignof.cpp
new file mode 100644
index 0000000..2f730c4
--- /dev/null
+++ b/Tests/CompileFeatures/cxx_alignof.cpp
@@ -0,0 +1,6 @@
+
+int someFunc()
+{
+ int i = 42;
+ return alignof(i);
+}
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=16e781e2363da4c5a370ddae94d9b3177997775a
commit 16e781e2363da4c5a370ddae94d9b3177997775a
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 13:54:08 2014 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Apr 4 13:55:17 2014 +0200
Features: Add cxx_alignas.
cxx_alignof will be a separate feature known to CMake, because
both can be implemented with separate backward compatibility
versions.
diff --git a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
index e437f5f..511040b 100644
--- a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
+++ b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -146,3 +146,8 @@ The features known to this version of CMake are:
Extern templates, as defined in N1987_.
.. _N1987: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
+
+``cxx_alignas``
+ Alignment control ``alignas``, as defined in N2341_.
+
+.. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 65b169d..906d3e1 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -5,6 +5,7 @@ set(_cmake_feature_test_cxx_reference_qualified_functions
"((__GNUC__ * 100 + __GNUC_MINOR__) > 408 || __GNUC_PATCHLEVEL__ >= 1) && __cplusplus >= 201103L")
set(GNU48_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L")
set(_cmake_feature_test_cxx_inheriting_constructors "${GNU48_CXX11}")
+set(_cmake_feature_test_cxx_alignas "${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}")
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 27065da..c7c458e 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -68,7 +68,8 @@
F(cxx_user_literals) \
F(cxx_unicode_literals) \
F(cxx_unrestricted_unions) \
- F(cxx_extern_templates)
+ F(cxx_extern_templates) \
+ F(cxx_alignas)
class cmMakefile::Internals
{
diff --git a/Tests/CompileFeatures/cxx_alignas.cpp b/Tests/CompileFeatures/cxx_alignas.cpp
new file mode 100644
index 0000000..35b7c82
--- /dev/null
+++ b/Tests/CompileFeatures/cxx_alignas.cpp
@@ -0,0 +1,4 @@
+
+struct S1 {
+ alignas(8) int n;
+};
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2653f1ca1af4a926be03a6e97998d8004ef0d33b
commit 2653f1ca1af4a926be03a6e97998d8004ef0d33b
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 13:52:18 2014 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Apr 4 13:52:18 2014 +0200
Fix inheriting constructors version.
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 2fb34ed..65b169d 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -3,6 +3,8 @@ set(_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408")
# Introduced in GCC 4.8.1
set(_cmake_feature_test_cxx_reference_qualified_functions
"((__GNUC__ * 100 + __GNUC_MINOR__) > 408 || __GNUC_PATCHLEVEL__ >= 1) && __cplusplus >= 201103L")
+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}")
@@ -21,7 +23,6 @@ set(_cmake_feature_test_cxx_unrestricted_unions "${GNU46_CXX11}")
# TODO: Should be supported by GNU 4.5
set(GNU45_CXX11 "${_oldestSupported} && __cplusplus >= 201103L")
set(_cmake_feature_test_cxx_explicit_conversions "${GNU45_CXX11}")
-set(_cmake_feature_test_cxx_inheriting_constructors "${GNU45_CXX11}")
set(_cmake_feature_test_cxx_lambdas "${GNU45_CXX11}")
set(_cmake_feature_test_cxx_raw_string_literals "${GNU45_CXX11}")
# TODO: Should be supported by GNU 4.4
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=41580820ab191c79cd0ccb126cc4935fefd2a3ed
commit 41580820ab191c79cd0ccb126cc4935fefd2a3ed
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Apr 4 13:11:37 2014 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Apr 4 13:51:30 2014 +0200
Features: Add cxx_extern_templates.
diff --git a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
index 624308c..e437f5f 100644
--- a/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
+++ b/Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -141,3 +141,8 @@ The features known to this version of CMake are:
Unrestricted unions, as defined in N2544_.
.. _N2544: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
+
+``cxx_extern_templates``
+ Extern templates, as defined in N1987_.
+
+.. _N1987: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 07e344c..2fb34ed 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -33,6 +33,7 @@ set(_cmake_feature_test_cxx_strong_enums "${GNU44_CXX11}")
set(_cmake_feature_test_cxx_defaulted_functions "${GNU44_CXX11}")
set(_cmake_feature_test_cxx_deleted_functions "${GNU44_CXX11}")
set(_cmake_feature_test_cxx_unicode_literals "${GNU44_CXX11}")
+set(_cmake_feature_test_cxx_extern_templates "${GNU44_CXX11}")
# TODO: Should be supported by GNU 4.3
set(GNU43_CXX11 "${_oldestSupported} && __cplusplus >= 201103L")
set(_cmake_feature_test_cxx_static_assert "${GNU43_CXX11}")
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index a094d68..27065da 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -67,7 +67,8 @@
F(cxx_alias_templates) \
F(cxx_user_literals) \
F(cxx_unicode_literals) \
- F(cxx_unrestricted_unions)
+ F(cxx_unrestricted_unions) \
+ F(cxx_extern_templates)
class cmMakefile::Internals
{
diff --git a/Tests/CompileFeatures/cxx_extern_templates.cpp b/Tests/CompileFeatures/cxx_extern_templates.cpp
new file mode 100644
index 0000000..9fa4aa4
--- /dev/null
+++ b/Tests/CompileFeatures/cxx_extern_templates.cpp
@@ -0,0 +1,12 @@
+
+template<typename T>
+void someFunc()
+{
+}
+
+extern template void someFunc<int>();
+
+void otherFunc()
+{
+ someFunc<int>();
+}
-----------------------------------------------------------------------
Summary of changes:
Help/variable/CMAKE_CXX_KNOWN_FEATURES.rst | 20 ++++++++++++++++++++
Modules/Compiler/GNU-CXX-FeatureTests.cmake | 7 ++++++-
Source/cmMakefile.cxx | 6 +++++-
Tests/CompileFeatures/cxx_alignas.cpp | 4 ++++
Tests/CompileFeatures/cxx_alignof.cpp | 6 ++++++
Tests/CompileFeatures/cxx_attributes.cpp | 2 ++
Tests/CompileFeatures/cxx_extern_templates.cpp | 12 ++++++++++++
7 files changed, 55 insertions(+), 2 deletions(-)
create mode 100644 Tests/CompileFeatures/cxx_alignas.cpp
create mode 100644 Tests/CompileFeatures/cxx_alignof.cpp
create mode 100644 Tests/CompileFeatures/cxx_attributes.cpp
create mode 100644 Tests/CompileFeatures/cxx_extern_templates.cpp
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list