X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Finclude%2Fbits%2Fc%2B%2Bconfig;h=f6c16d31f80ec304a26833d0189d64057759c234;hb=69e6b1d4b21986afb0c4051b7b2dca3ba6bc59cb;hp=cd79a8de72d208750c9b1deee1d4ac4dd6b71315;hpb=74d2f859d248c7181a01a6d54bd45a27ce22ae21;p=gcc.git diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index cd79a8de72d..f6c16d31f80 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -1,6 +1,6 @@ // Predefined symbols and macros -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +// 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 @@ -34,13 +34,7 @@ #include // The current version of the C++ library in compressed ISO date format. -#define __GLIBCPP__ 20001129 - -// This flag controls the error handling in string, and perhaps other -// bits as time goes on: check out bits/basic_string.h for more -// info. It also helps alleviate the circular dependency between -// string and exception. -# define _GLIBCPP_USE_EXCEPTIONS 1 +#define __GLIBCPP__ 20010719 // This is necessary until GCC supports separate template // compilation. @@ -53,21 +47,70 @@ // 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 _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 - - - - - - - - - - - +#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) + +/** @namespace std + * @brief Everything defined by the ISO C++ Standard is within namespace std. + */ + +// End of prewritten config; the discovered settings follow.