|
|
|
|
|
|
|
#define JOIN_IMPL(A, B) A##B
|
|
|
|
#define JOIN(A, B) JOIN_IMPL(A, B)
|
|
|
|
|
|
|
|
#define CHECK(FEATURE) \
|
|
|
|
(JOIN(PREFIX, JOIN(_COMPILER_, FEATURE)) == \
|
|
|
|
JOIN(EXPECTED_COMPILER_, FEATURE))
|
|
|
|
|
|
|
|
#if !CHECK(CXX_DELEGATING_CONSTRUCTORS)
|
|
|
|
# error cxx_delegating_constructors expected availability did not match.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !CHECK(CXX_VARIADIC_TEMPLATES)
|
|
|
|
# error cxx_variadic_templates expected availability did not match.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !CHECK(VERSION_MAJOR)
|
|
|
|
# error Compiler major version did not match.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !CHECK(VERSION_MINOR)
|
|
|
|
# error Compiler minor version did not match.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !CHECK(VERSION_PATCH)
|
|
|
|
# error Compiler patch version did not match.
|
|
|
|
#endif
|