From bf9a03399b84d1ea2b62de027c8fafe5a27e4b2f Mon Sep 17 00:00:00 2001
From: Stefan Seefeld <stefan@seefeld.name>
Date: Mon, 30 Oct 2017 08:04:01 -0400
Subject: [PATCH] Revert "Avoid multiple template instances of
 boost::python::details::get_signature when multiple calling conventions are
 enabled"

This reverts commit b49a186b6fc4b4ecf84aa920149426a1d2385b19.
---
 include/boost/python/signature.hpp | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/include/boost/python/signature.hpp b/include/boost/python/signature.hpp
index 9b323a28..ab4bca39 100644
--- a/include/boost/python/signature.hpp
+++ b/include/boost/python/signature.hpp
@@ -111,7 +111,6 @@ struct most_derived
 // 'default' calling convention
 
 #  define BOOST_PYTHON_FN_CC
-#  define BOOST_PYTHON_FN_CC_IS_DEFAULT
 
 #  define BOOST_PP_ITERATION_PARAMS_1                                   \
     (3, (0, BOOST_PYTHON_MAX_ARITY, <boost/python/signature.hpp>))
@@ -119,7 +118,6 @@ struct most_derived
 #  include BOOST_PP_ITERATE()
 
 #  undef BOOST_PYTHON_FN_CC
-#  undef BOOST_PYTHON_FN_CC_IS_DEFAULT
 
 // __cdecl calling convention
 
@@ -143,7 +141,6 @@ struct most_derived
 #  if defined(BOOST_PYTHON_ENABLE_STDCALL)
 
 #   define BOOST_PYTHON_FN_CC __stdcall
-#   define BOOST_PYTHON_FN_CC_IS_STDCALL
 
 #   define BOOST_PP_ITERATION_PARAMS_1                                   \
      (3, (0, BOOST_PYTHON_MAX_ARITY, <boost/python/signature.hpp>))
@@ -151,7 +148,6 @@ struct most_derived
 #   include BOOST_PP_ITERATE()
 
 #   undef BOOST_PYTHON_FN_CC
-#   undef BOOST_PYTHON_FN_CC_IS_STDCALL
 
 #  endif // defined(BOOST_PYTHON_ENABLE_STDCALL)
 
@@ -160,14 +156,12 @@ struct most_derived
 #  if defined(BOOST_PYTHON_ENABLE_FASTCALL)
 
 #   define BOOST_PYTHON_FN_CC __fastcall
-#   define BOOST_PYTHON_FN_CC_IS_FASTCALL
 
 #   define BOOST_PP_ITERATION_PARAMS_1                                   \
      (3, (0, BOOST_PYTHON_MAX_ARITY, <boost/python/signature.hpp>))
 
 #   include BOOST_PP_ITERATE()
 
-#   undef BOOST_PYTHON_FN_CC_IS_FASTCALL
 #   undef BOOST_PYTHON_FN_CC
 
 #  endif // defined(BOOST_PYTHON_ENABLE_FASTCALL)
@@ -190,8 +184,8 @@ struct most_derived
 
    // as 'get_signature(RT(*)(T0...TN), void* = 0)' is the same
    // function as 'get_signature(RT(__cdecl *)(T0...TN), void* = 0)',
-   // we don't define it multiple times (i.e. for __cdecl, __stdcall ...)
-#  if defined(BOOST_PYTHON_FN_CC_IS_DEFAULT)
+   // we don't define it twice
+#  if !defined(BOOST_PYTHON_FN_CC_IS_CDECL)
 
 template <
     class RT BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class T)>
@@ -204,7 +198,7 @@ get_signature(RT(BOOST_PYTHON_FN_CC *)(BOOST_PP_ENUM_PARAMS_Z(1, N, T)), void* =
         >();
 }
 
-#  endif  // BOOST_PYTHON_FN_CC_IS_DEFAULT
+#  endif // !defined(BOOST_PYTHON_FN_CC_IS_CDECL)
 
 # undef N
 
@@ -212,13 +206,11 @@ get_signature(RT(BOOST_PYTHON_FN_CC *)(BOOST_PP_ENUM_PARAMS_Z(1, N, T)), void* =
     (3, (0, 3, <boost/python/signature.hpp>))
 # include BOOST_PP_ITERATE()
 
-#else  // BOOST_PP_ITERATION_DEPTH() != 1
+#else
 
 # define N BOOST_PP_RELATIVE_ITERATION(1)
 # define Q BOOST_PYTHON_CV_QUALIFIER(BOOST_PP_ITERATION())
 
-#  if defined(BOOST_PYTHON_FN_CC_IS_DEFAULT)
-
 template <
     class RT, class ClassT BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class T)>
 inline BOOST_PYTHON_LIST_INC(BOOST_PP_INC(N))<
@@ -253,8 +245,6 @@ get_signature(
     >();
 }
 
-#  endif  // BOOST_PYTHON_FN_CC_IS_DEFAULT
-
 # undef Q
 # undef N