/* * Detect used C++ Standard Library * * This file is compiled and run via try_run in download_test_data.cmake. */ #include // see https://en.cppreference.com/w/cpp/header/ciso646 #if __cplusplus >= 202002L #include #else #include #endif int main() { #if defined(_LIBCPP_VERSION) std::printf("LLVM C++ Standard Library (libc++), _LIBCPP_VERSION=%d", _LIBCPP_VERSION); #elif defined(__GLIBCXX__) std::printf("GNU C++ Standard Library (libstdc++), __GLIBCXX__=%d", __GLIBCXX__); #elif defined(_MSVC_STL_VERSION) std::printf("Microsoft C++ Standard Library (MSVC STL), _MSVC_STL_VERSION=%d", _MSVC_STL_VERSION); #elif defined(_LIBCUDACXX_VERSION) std::printf("NVIDIA C++ Standard Library (libcudacxx), _LIBCUDACXX_VERSION=%d", _LIBCUDACXX_VERSION); #elif defined(EASTL_VERSION) std::printf("Electronic Arts Standard Template Library (EASTL), EASTL_VERSION=%d", EASTL_VERSION); #else std::printf("unknown"); #endif }