source: trunk/src/gcc/libstdc++-v3/include/bits/c++config@ 1598

Last change on this file since 1598 was 1598, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1597,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.4
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.4 KB
Line 
1// Predefined symbols and macros -*- C++ -*-
2
3// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
4// Free Software Foundation, Inc.
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
9// Free Software Foundation; either version 2, or (at your option)
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
18// with this library; see the file COPYING. If not, write to the Free
19// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
20// USA.
21
22// As a special exception, you may use this file as part of a free software
23// library without restriction. Specifically, if other files instantiate
24// templates or use macros or inline functions from this file, or you compile
25// this file and link it with other files to produce an executable, this
26// file does not by itself cause the resulting executable to be covered by
27// the GNU General Public License. This exception does not however
28// invalidate any other reasons why the executable file might be covered by
29// the GNU General Public License.
30
31#ifndef _CPP_CPPCONFIG
32#define _CPP_CPPCONFIG 1
33
34// Pick up any OS-specific definitions.
35#include <bits/os_defines.h>
36
37// The current version of the C++ library in compressed ISO date format.
38#define __GLIBCPP__ 20040930
39
40// This is necessary until GCC supports separate template compilation.
41#define _GLIBCPP_NO_TEMPLATE_EXPORT 1
42
43// This is a hack around not having either pre-compiled headers or
44// export compilation. If defined, the io, string, and valarray
45// headers will include all the necessary bits. If not defined, the
46// implementation optimizes the headers for the most commonly-used
47// types. For the io library, this means that larger, out-of-line
48// member functions are only declared, and definitions are not parsed
49// by the compiler, but instead instantiated into the library binary.
50#define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1
51
52// Allow use of the GNU syntax extension, "extern template." This
53// extension is fully documented in the g++ manual, but in a nutshell,
54// it inhibits all implicit instantiations and is used throughout the
55// library to avoid multiple weak definitions for required types that
56// are already explicitly instantiated in the library binary. This
57// substantially reduces the binary size of resulting executables.
58#ifndef _GLIBCPP_EXTERN_TEMPLATE
59#define _GLIBCPP_EXTERN_TEMPLATE 1
60#endif
61
62// To enable older, ARM-style iostreams and other anachronisms use this.
63//#define _GLIBCPP_DEPRECATED 1
64
65// Use corrected code from the committee library group's issues list.
66#define _GLIBCPP_RESOLVE_LIB_DEFECTS 1
67
68// Hopefully temporary workaround to autoconf/m4 issue with quoting '@'.
69#define _GLIBCPP_AT_AT "@@"
70
71// In those parts of the standard C++ library that use a mutex instead
72// of a spin-lock, we now unconditionally use GCC's gthr.h mutex
73// abstraction layer. All support to directly map to various
74// threading models has been removed. Note: gthr.h may well map to
75// gthr-single.h which is a correct way to express no threads support
76// in gcc. Support for the undocumented _NOTHREADS has been removed.
77
78// Default to the typically high-speed, pool-based allocator (as
79// libstdc++-v2) instead of the malloc-based allocator (libstdc++-v3
80// snapshots). See libstdc++-v3/docs/html/17_intro/howto.html for
81// details on why you don't want to override this setting. Ensure
82// that threads are properly configured on your platform before
83// assigning blame to the STL container-memory allocator. After doing
84// so, please report any possible issues to [email protected] .
85// Do not define __USE_MALLOC on the command line. Enforce it here:
86#ifdef __USE_MALLOC
87#error __USE_MALLOC should never be defined. Read the release notes.
88#endif
89
90// Create a boolean flag to be used to determine if --fast-math is set.
91#ifdef __FAST_MATH__
92#define _GLIBCPP_FAST_MATH 1
93#else
94#define _GLIBCPP_FAST_MATH 0
95#endif
96
97// The remainder of the prewritten config is mostly automatic; all the
98// user hooks are listed above.
99
100// End of prewritten config; the discovered settings follow.
Note: See TracBrowser for help on using the repository browser.