From 8f578dbc781167a56396f2f0d2b9c62516428068 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 25 Sep 2002 18:10:32 +0000 Subject: [PATCH] function_template.hpp: - Don't let Borland C++ use class template function function_base.hpp: - Work around freaky MIPSpro bug that affects the Python lib [SVN r15514] --- include/boost/function/function_base.hpp | 9 +++++++++ include/boost/function/function_template.hpp | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/boost/function/function_base.hpp b/include/boost/function/function_base.hpp index 4be5557..e01c517 100644 --- a/include/boost/function/function_base.hpp +++ b/include/boost/function/function_base.hpp @@ -32,6 +32,15 @@ # define BOOST_FUNCTION_TARGET_FIX(x) #endif // not MSVC +#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 +// Work around a compiler bug. +// boost::python::detail::function has to be seen by the compiler before the +// boost::function class template. +namespace boost { namespace python { namespace detail { + class function; +}}} +#endif + #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace boost { diff --git a/include/boost/function/function_template.hpp b/include/boost/function/function_template.hpp index 8cb0151..1a03093 100644 --- a/include/boost/function/function_template.hpp +++ b/include/boost/function/function_template.hpp @@ -514,7 +514,7 @@ namespace boost { f1.swap(f2); } -#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +#if !defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) #if BOOST_FUNCTION_NUM_ARGS == 0 #define BOOST_FUNCTION_PARTIAL_SPEC R (void)