62a4a67dc5
Provide a function to write a portable header to detect compiler features. Generate a preprocessor #error for unknown compilers and compiler versions whose features are not yet recorded. This error condition might be relaxed in the future, but for now it is useful for verification of expectations.
20 lines
455 B
C++
20 lines
455 B
C++
|
|
#include "test_compiler_detection.h"
|
|
|
|
#define JOIN_IMPL(A, B) A ## B
|
|
#define JOIN(A, B) JOIN_IMPL(A, B)
|
|
#define CHECK(FEATURE) (JOIN(TEST_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
|
|
|
|
int main()
|
|
{
|
|
return 0;
|
|
}
|