![]() |
|
|||
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
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |