summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/pybind11/include/pybind11/common.h3
-rw-r--r--ext/pybind11/include/pybind11/stl.h4
2 files changed, 4 insertions, 3 deletions
diff --git a/ext/pybind11/include/pybind11/common.h b/ext/pybind11/include/pybind11/common.h
index 712c1a5d6..f7a383007 100644
--- a/ext/pybind11/include/pybind11/common.h
+++ b/ext/pybind11/include/pybind11/common.h
@@ -558,7 +558,8 @@ PYBIND11_DECL_FMT(bool, "?");
struct nodelete { template <typename T> void operator()(T*) { } };
// overload_cast requires variable templates: C++14 or MSVC 2015 Update 2
-#if defined(PYBIND11_CPP14) || _MSC_FULL_VER >= 190023918
+#if defined(PYBIND11_CPP14) || ( \
+ defined(_MSC_FULL_VER) &&_MSC_FULL_VER >= 190023918)
#define PYBIND11_OVERLOAD_CAST 1
NAMESPACE_BEGIN(detail)
diff --git a/ext/pybind11/include/pybind11/stl.h b/ext/pybind11/include/pybind11/stl.h
index d4b0fc914..7d6e8b102 100644
--- a/ext/pybind11/include/pybind11/stl.h
+++ b/ext/pybind11/include/pybind11/stl.h
@@ -246,7 +246,7 @@ template<typename T> struct optional_caster {
PYBIND11_TYPE_CASTER(T, _("Optional[") + value_conv::name() + _("]"));
};
-#if PYBIND11_HAS_OPTIONAL
+#ifdef PYBIND11_HAS_OPTIONAL
template<typename T> struct type_caster<std::optional<T>>
: public optional_caster<std::optional<T>> {};
@@ -254,7 +254,7 @@ template<> struct type_caster<std::nullopt_t>
: public void_caster<std::nullopt_t> {};
#endif
-#if PYBIND11_HAS_EXP_OPTIONAL
+#ifdef PYBIND11_HAS_EXP_OPTIONAL
template<typename T> struct type_caster<std::experimental::optional<T>>
: public optional_caster<std::experimental::optional<T>> {};