2014-10-31 02:41:53 +03:00
|
|
|
|
2016-05-16 17:34:04 +03:00
|
|
|
#define JOIN_IMPL(A, B) A##B
|
2014-10-31 02:41:53 +03:00
|
|
|
#define JOIN(A, B) JOIN_IMPL(A, B)
|
|
|
|
|
2016-05-16 17:34:04 +03:00
|
|
|
#define CHECK(FEATURE) \
|
|
|
|
(JOIN(PREFIX, JOIN(_COMPILER_, FEATURE)) == \
|
|
|
|
JOIN(EXPECTED_COMPILER_, FEATURE))
|
2014-10-31 02:41:53 +03:00
|
|
|
|
|
|
|
#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
|