Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-26 09:56:44

0001 /*=============================================================================
0002     Copyright (c) 2001-2003 Joel de Guzman
0003     http://spirit.sourceforge.net/
0004 
0005   Distributed under the Boost Software License, Version 1.0. (See accompanying
0006   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 =============================================================================*/
0008 #if !defined(BOOST_SPIRIT_CONFIG_HPP)
0009 #define BOOST_SPIRIT_CONFIG_HPP
0010 
0011 #include <boost/config.hpp>
0012 
0013 ///////////////////////////////////////////////////////////////////////////////
0014 //
0015 //  Compiler check:
0016 //
0017 //  Historically, Spirit supported a lot of compilers, including (to some
0018 //  extent) poorly conforming compilers such as VC6. Spirit v1.6.x will be
0019 //  the last release that will support older poorly conforming compilers.
0020 //  Starting from Spirit v1.8.0, ill conforming compilers will not be
0021 //  supported. If you are still using one of these older compilers, you can
0022 //  still use Spirit v1.6.x.
0023 //
0024 //  The reason why Spirit v1.6.x worked on old non-conforming compilers is
0025 //  that the authors laboriously took the trouble of searching for
0026 //  workarounds to make these compilers happy. The process takes a lot of
0027 //  time and energy, especially when one encounters the dreaded ICE or
0028 //  "Internal Compiler Error". Sometimes searching for a single workaround
0029 //  takes days or even weeks. Sometimes, there are no known workarounds. This
0030 //  stifles progress a lot. And, as the library gets more progressive and
0031 //  takes on more advanced C++ techniques, the difficulty is escalated to
0032 //  even new heights.
0033 //
0034 //  Spirit v1.6.x will still be supported. Maintenance and bug fixes will
0035 //  still be applied. There will still be active development for the back-
0036 //  porting of new features introduced in Spirit v1.8.0 (and Spirit 1.9.0)
0037 //  to lesser able compilers; hopefully, fueled by contributions from the
0038 //  community. For instance, there is already a working AST tree back-port
0039 //  for VC6 and VC7 by Peder Holt.
0040 //
0041 //  If you got here somehow, your compiler is known to be poorly conforming
0042 //  WRT ANSI/ISO C++ standard. Library implementers get a bad reputation when
0043 //  someone attempts to compile the code on a non-conforming compiler. She'll
0044 //  be confronted with tons of compiler errors when she tries to compile the
0045 //  library. Such errors will somehow make less informed users conclude that
0046 //  the code is poorly written. It's better for the user to see a message
0047 //  "sorry, this code has not been ported to your compiler yet", than to see
0048 //  pages and pages of compiler error messages.
0049 //
0050 /////////////////////////////////////////////////////////////////////////////////
0051 #if     (defined(BOOST_MSVC) && (BOOST_MSVC < 1310))                            \
0052     ||  (defined(BOOST_BORLANDC) && (BOOST_BORLANDC <= 0x570))                      \
0053     ||  (defined(__GNUC__) && (__GNUC__ < 3))                                   \
0054     ||  (defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
0055 # error "Compiler not supported. See note in <boost/spirit/core/config.hpp>"
0056 #else
0057 // Pass... Compiler supported.
0058 #endif
0059 
0060 #endif
0061 
0062