Whole document tree c++configGo to the documentation of this file.00001 // Predefined symbols and macros -*- C++ -*- 00002 00003 // Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. 00004 // 00005 // This file is part of the GNU ISO C++ Library. This library is free 00006 // software; you can redistribute it and/or modify it under the 00007 // terms of the GNU General Public License as published by the 00008 // Free Software Foundation; either version 2, or (at your option) 00009 // any later version. 00010 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 00016 // You should have received a copy of the GNU General Public License along 00017 // with this library; see the file COPYING. If not, write to the Free 00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00019 // USA. 00020 00021 // As a special exception, you may use this file as part of a free software 00022 // library without restriction. Specifically, if other files instantiate 00023 // templates or use macros or inline functions from this file, or you compile 00024 // this file and link it with other files to produce an executable, this 00025 // file does not by itself cause the resulting executable to be covered by 00026 // the GNU General Public License. This exception does not however 00027 // invalidate any other reasons why the executable file might be covered by 00028 // the GNU General Public License. 00029 00030 #ifndef _CPP_CPPCONFIG 00031 #define _CPP_CPPCONFIG 1 00032 00033 // Pick up any OS-specific definitions. 00034 #include <bits/os_defines.h> 00035 // And any CPU-specific definitions. 00036 #include <bits/limits.h> 00037 00038 // The current version of the C++ library in compressed ISO date format. 00039 #define __GLIBCPP__ 20020220 00040 00041 // This is necessary until GCC supports separate template 00042 // compilation. 00043 #define _GLIBCPP_NO_TEMPLATE_EXPORT 1 00044 00045 // This is a hack around not having either pre-compiled headers or 00046 // export compilation. If defined, the io, string, and valarray 00047 // headers will include all the necessary bits. If not defined, the 00048 // implementation optimizes the headers for the most commonly-used 00049 // types. For the io library, this means that larger, out-of-line 00050 // member functions are only declared, and definitions are not parsed 00051 // by the compiler, but instead instantiated into the library binary. 00052 #define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1 00053 00054 // Define this to permit user-level control of the expansion of string 00055 // buffers (via a fn pointer), see basic_string.* for more. 00056 //#define _GLIBCPP_ALLOC_CONTROL 00057 00058 // To enable older, ARM-style iostreams and other anachronisms use this. 00059 //#define _GLIBCPP_DEPRECATED 1 00060 00061 // Use corrected code from the committee library group's issues list. 00062 #define _GLIBCPP_RESOLVE_LIB_DEFECTS 1 00063 00064 // Enable concept checking code from the boost libraries. 00065 //#define _GLIBCPP_CONCEPT_CHECKS 1 00066 00067 // Map gthr.h abstraction to that required for STL. Do not key off of 00068 // __GTHREADS at this point since we haven't seen the correct symbol 00069 // yet, instead setup so that include/bits/stl_threads.h will know to 00070 // include gthr.h instead of any other type of thread support. Note: 00071 // that gthr.h may well map to gthr-single.h which is a correct way to 00072 // express no threads support in gcc. As a user, do not define 00073 // _NOTHREADS without consideration of the consequences (e.g. it is an 00074 // internal ABI change). 00075 #define __STL_GTHREADS 00076 #define __STL_THREADS 00077 #define __STL_VOLATILE volatile 00078 00079 // This is also a user hook, but via -f[no-]exceptions, not direct #defines. 00080 #ifdef __EXCEPTIONS 00081 # define __STL_USE_EXCEPTIONS 00082 # define __STL_TRY try 00083 # define __STL_CATCH_ALL catch(...) 00084 # define __STL_THROW(x) throw x 00085 # define __STL_RETHROW throw 00086 # define __STL_NOTHROW throw() 00087 # define __STL_UNWIND(action) catch(...) { action; throw; } 00088 #else 00089 # define __STL_TRY 00090 # define __STL_CATCH_ALL if (false) 00091 # define __STL_THROW(x) 00092 # define __STL_RETHROW 00093 # define __STL_NOTHROW 00094 # define __STL_UNWIND(action) 00095 #endif 00096 00097 // Default to the typically high-speed, pool-based allocator (as 00098 // libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3 00099 // snapshots). See libstdc++-v3/docs/html/17_intro/howto.html for 00100 // details on why you don't want to override this setting. Ensure 00101 // that threads are properly configured on your platform before 00102 // assigning blame to the STL container-memory allocator. After doing 00103 // so, please report any possible issues to libstdc++@gcc.gnu.org . 00104 // Do not blindly #define __USE_MALLOC here or on the command line. 00105 00106 // The remainder of the prewritten config is mostly automatic; all the 00107 // user hooks are listed above. 00108 00109 // XXX 00110 // Only used in the SGI rope extensions; this is from stl_config.h and 00111 // should be cleaned up. 00112 # define __stl_assert(expr) 00113 00118 // End of prewritten config; the discovered settings follow. Generated on Mon Apr 8 03:11:23 2002 for libstdc++-v3 Source by ![]() |