1
2#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
3#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
4
5// Copyright Aleksey Gurtovoy 2001-2004
6//
7// Distributed under the Boost Software License, Version 1.0.
8// (See accompanying file LICENSE_1_0.txt or copy at
9// http://www.boost.org/LICENSE_1_0.txt)
10//
11// See http://www.boost.org/libs/mpl for documentation.
12
13// $Id$
14// $Date$
15// $Revision$
16
17#include <boost/mpl/aux_/config/msvc.hpp>
18#include <boost/mpl/aux_/config/workaround.hpp>
19
20// flags for MSVC 6.5's so-called "early template instantiation bug"
21#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
22 && !defined(BOOST_MPL_PREPROCESSING_MODE) \
23 && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
24
25# define BOOST_MPL_CFG_MSVC_60_ETI_BUG
26
27#endif
28
29#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
30 && !defined(BOOST_MPL_PREPROCESSING_MODE) \
31 && BOOST_WORKAROUND(BOOST_MSVC, == 1300)
32
33# define BOOST_MPL_CFG_MSVC_70_ETI_BUG
34
35#endif
36
37#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \
38 && !defined(BOOST_MPL_PREPROCESSING_MODE) \
39 && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
40 || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
41 )
42
43# define BOOST_MPL_CFG_MSVC_ETI_BUG
44
45#endif
46
47#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
48

source code of include/boost/mpl/aux_/config/eti.hpp