summaryrefslogtreecommitdiff
path: root/boost/tr1/tr1/exception
blob: 282478a50e4f2fa6e05a9c2ec13335e364976f19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//  (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