mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| // 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__ 20010301
 | |
| 
 | |
| // 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
 | |
| 
 | |
| // 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
 | |
| 
 | |
| // From SGI's stl_config.h; generic settings and user hooks (_NOTHREADS).
 | |
| #if defined(_PTHREADS) && !defined(_NOTHREADS)
 | |
| #    define __STL_PTHREADS
 | |
| #endif
 | |
| #if defined(_UITHREADS) && !defined(_PTHREADS) && !defined(_NOTHREADS)
 | |
| #    define __STL_UITHREADS
 | |
| #endif
 | |
| 
 | |
| // Concept-checking code is on by default unless users define
 | |
| // the _STL_NO_CONCEPT_CHECKS hook.
 | |
| //#define _STL_NO_CONCEPT_CHECKS 1
 | |
| #if !defined(_STL_NO_CONCEPT_CHECKS)
 | |
| #  define __STL_USE_CONCEPT_CHECKS
 | |
| #endif
 | |
| 
 | |
| // 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
 | |
| 
 | |
| // This is the "underlying allocator"
 | |
| #define __USE_MALLOC
 | |
| 
 | |
| // 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
 | |
| 
 | |
| // The remainder of the prewritten config is mostly automatic; all the
 | |
| // user hooks are listed above.
 | |
| 
 | |
| #ifdef _REENTRANT
 | |
| #  define __STL_THREADS
 | |
| #endif
 | |
| #ifdef _PTHREADS
 | |
| #  define __STL_PTHREADS
 | |
| #endif
 | |
| //#ifndef __STRICT_ANSI__
 | |
| //#  define __STL_LONG_LONG
 | |
| //#endif
 | |
| 
 | |
| // 20010302 pme -- this is only used in bits/concept_checks.h
 | |
| //#if (__GNUC__ < 2) || (__GNUC__ == 2 && __GNUC_MINOR__ < 95)
 | |
| #  define __STL_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE
 | |
| //#endif
 | |
| 
 | |
| // Mingw32, GCC compiler using the Microsoft C runtime (settings taken from
 | |
| // SGI's stl_config.h)
 | |
| #if defined(__MINGW32__)
 | |
| #  define __STL_NO_DRAND48
 | |
| #  ifdef _MT
 | |
| #    define __STL_WIN32THREADS
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| // Cygwin32, GCC compiler on MS Windows (settings taken from SGI's
 | |
| // stl_config.h)
 | |
| #if defined(__CYGWIN__)
 | |
| #  define __STL_NO_DRAND48
 | |
| #endif
 | |
| 
 | |
| // XXX Only used in the SGI rope extensions; this is from stl_config.h and
 | |
| // should be cleaned up.
 | |
| #ifdef __STL_ASSERTIONS
 | |
| # include <stdio.h>
 | |
| # define __stl_assert(expr) \
 | |
|     if (!(expr)) { fprintf(stderr, "%s:%d STL assertion failure: %s\n", \
 | |
|                           __FILE__, __LINE__, # expr); abort(); }
 | |
| #else
 | |
| # define __stl_assert(expr)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #if defined(__STL_WIN32THREADS) || defined(__STL_SGI_THREADS) \
 | |
|     || defined(__STL_PTHREADS)  || defined(__STL_UITHREADS)
 | |
| #   define __STL_THREADS
 | |
| #   define __STL_VOLATILE volatile
 | |
| #else
 | |
| #   define __STL_VOLATILE
 | |
| #endif
 | |
| 
 | |
| 
 | |
| // End of prewritten config; the discovered settings follow.
 | |
| 
 | |
| 
 |