[smart_holder] type_caster_odr_guard MSVC 193732825 C++17 windows-2022 is failing for unknown reasons. (#4918)

* MSVC 193732825 C++17 windows-2022 is failing for unknown reasons.

* Bug fix: Need to test `_MSC_FULL_VER` (not `_MSC_VER`).
This commit is contained in:
Ralf W. Grosse-Kunstleve 2023-11-02 23:03:53 -07:00 committed by GitHub
parent fb79bc8c14
commit edfaaed87e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -39,12 +39,15 @@ PYBIND11_NAMESPACE_BEGIN(detail)
// violations in binaries that are otherwise already fully tested and assumed to be healthy. // violations in binaries that are otherwise already fully tested and assumed to be healthy.
// //
// * MSVC 2017 does not support __builtin_FILE(), __builtin_LINE(). // * MSVC 2017 does not support __builtin_FILE(), __builtin_LINE().
// * MSVC 193732825 C++17 windows-2020 is failing for unknown reasons.
// * Intel 2021.6.0.20220226 (g++ 9.4 mode) __builtin_LINE() is unreliable // * Intel 2021.6.0.20220226 (g++ 9.4 mode) __builtin_LINE() is unreliable
// (line numbers vary between translation units). // (line numbers vary between translation units).
#if defined(PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD_IF_AVAILABLE) \ #if defined(PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD_IF_AVAILABLE) \
&& !defined(PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD) && defined(PYBIND11_CPP17) \ && !defined(PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD) && defined(PYBIND11_CPP17) \
&& !defined(__INTEL_COMPILER) \ && !defined(__INTEL_COMPILER) \
&& (!defined(_MSC_VER) || _MSC_VER >= 1920) // MSVC 2019 or newer. && (!defined(_MSC_VER) \
|| (_MSC_VER >= 1920 /* MSVC 2019 or newer */ \
&& (_MSC_FULL_VER != 193732825 || defined(PYBIND11_CPP20))))
# define PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD # define PYBIND11_ENABLE_TYPE_CASTER_ODR_GUARD
#endif #endif