Features: Add cxx_variadic_macros.

This commit is contained in:
Stephen Kelly 2014-04-04 15:05:10 +02:00
parent 3d76656fb3
commit f9d04a96b5
4 changed files with 20 additions and 0 deletions

View File

@ -167,6 +167,11 @@ The features known to this version of CMake are:
.. _N2765: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf .. _N2765: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
``cxx_variadic_macros``
Variadic macros, as defined in N1653_.
.. _N1653: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
``cxx_variadic_templates`` ``cxx_variadic_templates``
Variadic templates, as defined in N2242_. Variadic templates, as defined in N2242_.

View File

@ -60,4 +60,6 @@ set(_cmake_feature_test_cxx_rvalue_references "${GNU43_CXX11}")
set(_cmake_feature_test_cxx_static_assert "${GNU43_CXX11}") set(_cmake_feature_test_cxx_static_assert "${GNU43_CXX11}")
# TODO: Should be supported since GNU 3.4? # TODO: Should be supported since GNU 3.4?
set(_cmake_feature_test_cxx_extern_templates "${_oldestSupported} && __cplusplus >= 201103L") set(_cmake_feature_test_cxx_extern_templates "${_oldestSupported} && __cplusplus >= 201103L")
# TODO: Should be supported forever?
set(_cmake_feature_test_cxx_variadic_macros "${_oldestSupported} && __cplusplus >= 201103L")
set(_oldestSupported) set(_oldestSupported)

View File

@ -73,6 +73,7 @@
F(cxx_uniform_initialization) \ F(cxx_uniform_initialization) \
F(cxx_unrestricted_unions) \ F(cxx_unrestricted_unions) \
F(cxx_user_literals) \ F(cxx_user_literals) \
F(cxx_variadic_macros) \
F(cxx_variadic_templates) F(cxx_variadic_templates)
class cmMakefile::Internals class cmMakefile::Internals

View File

@ -0,0 +1,12 @@
int someFunc(int, char, int)
{
return 0;
}
#define FUNC_WRAPPER(...) someFunc(__VA_ARGS__)
void otherFunc()
{
FUNC_WRAPPER(42, 'a', 7);
}