blob: 9391c08edc7aff17eb7d0e8d6c75da2bd9364fff [file] [log] [blame]
// (C) Copyright John Maddock 2005.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// This file exists to prevent std lib headers from accidentally
// including a TR1 extention header; we must suppress this otherwise
// we can end up with cyclic dependencies with some std lib implementations.
//
// Important: there are no include guards on this header for Borland C++
// The Borland version of <exception> has some peculiar circular dependencies
// that requires multiple inclusion. Likewise for gcc (gcc-2.95.3 fix).
//
#ifdef BOOST_TR1_NO_exception_RECURSION2
# define BOOST_TR1_NO_exception_RECURSION3
#elif defined(BOOST_TR1_NO_exception_RECURSION)
# define BOOST_TR1_NO_exception_RECURSION2
#elif !defined(BOOST_TR1_NO_RECURSION)
# define BOOST_TR1_NO_RECURSION
# define BOOST_TR1_NO_exception_RECURSION
#endif
# include <boost/tr1/detail/config_all.hpp>
# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
# include_next <exception>
# else
# include BOOST_TR1_STD_HEADER(exception)
# endif
#ifdef BOOST_TR1_NO_exception_RECURSION3
# undef BOOST_TR1_NO_exception_RECURSION3
#elif defined(BOOST_TR1_NO_exception_RECURSION2)
# undef BOOST_TR1_NO_exception_RECURSION2
#elif defined(BOOST_TR1_NO_exception_RECURSION)
# undef BOOST_TR1_NO_exception_RECURSION
# undef BOOST_TR1_NO_RECURSION
#endif