0,0 → 1,112 |
// Predefined symbols and macros -*- C++ -*- |
|
// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. |
// |
// This file is part of the GNU ISO C++ Library. This library is free |
// software; you can redistribute it and/or modify it under the |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 2, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING. If not, write to the Free |
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// USA. |
|
// As a special exception, you may use this file as part of a free software |
// library without restriction. Specifically, if other files instantiate |
// templates or use macros or inline functions from this file, or you compile |
// this file and link it with other files to produce an executable, this |
// file does not by itself cause the resulting executable to be covered by |
// the GNU General Public License. This exception does not however |
// invalidate any other reasons why the executable file might be covered by |
// the GNU General Public License. |
|
#ifndef _CPP_CPPCONFIG |
#define _CPP_CPPCONFIG 1 |
|
// Pick up any OS-specific definitions. |
#include <bits/os_defines.h> |
|
// The current version of the C++ library in compressed ISO date format. |
#define __GLIBCPP__ 20010615 |
|
// This is necessary until GCC supports separate template |
// compilation. |
#define _GLIBCPP_NO_TEMPLATE_EXPORT 1 |
|
// This is a hack around not having either pre-compiled headers or |
// export compilation. If defined, the io, string, and valarray |
// headers will include all the necessary bits. If not defined, the |
// implementation optimizes the headers for the most commonly-used |
// types. For the io library, this means that larger, out-of-line |
// member functions are only declared, and definitions are not parsed |
// by the compiler, but instead instantiated into the library binary. |
#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1 |
|
// Define this to permit user-level control of the expansion of string |
// buffers (via a fn pointer), see basic_string.* for more. |
//#define _GLIBCPP_ALLOC_CONTROL |
|
// To enable older, ARM-style iostreams and other anachronisms use this. |
//#define _GLIBCPP_DEPRECATED 1 |
|
// Use corrected code from the committee library group's issues list. |
#define _GLIBCPP_RESOLVE_LIB_DEFECTS 1 |
|
// Enable concept checking code from the boost libraries. |
//#define _GLIBCPP_CONCEPT_CHECKS 1 |
|
// Map gthr.h abstraction to that required for STL. Do not key off of |
// __GTHREADS at this point since we haven't seen the correct symbol |
// yet, instead setup so that include/bits/stl_threads.h will know to |
// include gthr.h instead of any other type of thread support. Note: |
// that gthr.h may well map to gthr-single.h which is a correct way to |
// express no threads support in gcc. As a user, do not define |
// _NOTHREADS without consideration of the consequences (e.g. it is an |
// internal ABI change). |
#define __STL_GTHREADS |
#define __STL_THREADS |
#define __STL_VOLATILE volatile |
|
// This is also a user hook, but via -f[no-]exceptions, not direct #defines. |
#ifdef __EXCEPTIONS |
# define __STL_USE_EXCEPTIONS |
# define __STL_TRY try |
# define __STL_CATCH_ALL catch(...) |
# define __STL_THROW(x) throw x |
# define __STL_RETHROW throw |
# define __STL_NOTHROW throw() |
# define __STL_UNWIND(action) catch(...) { action; throw; } |
#else |
# define __STL_TRY |
# define __STL_CATCH_ALL if (false) |
# define __STL_THROW(x) |
# define __STL_RETHROW |
# define __STL_NOTHROW |
# define __STL_UNWIND(action) |
#endif |
|
// Default to the typically high-speed, pool-based allocator (as |
// libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3 |
// snapshots). See libstdc++-v3/docs/html/17_intro/howto.html for |
// details on why you don't want to override this setting. Ensure |
// that threads are properly configured on your platform before |
// assigning blame to the STL container-memory allocator. After doing |
// so, please report any possible issues to libstdc++@gcc.gnu.org . |
// Do not blindly #define __USE_MALLOC here or on the command line. |
|
// The remainder of the prewritten config is mostly automatic; all the |
// user hooks are listed above. |
|
// XXX |
// Only used in the SGI rope extensions; this is from stl_config.h and |
// should be cleaned up. |
# define __stl_assert(expr) |
|
// End of prewritten config; the discovered settings follow. |