| |
| #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 |