OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [include/] [bits/] [c++config] - Blame information for rev 17

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 17 jlechner
// Predefined symbols and macros -*- C++ -*-
2
 
3
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
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 _CXXCONFIG
32
#define _CXXCONFIG 1
33
 
34
// Pick up any OS-specific definitions.
35
#include 
36
 
37
// Pick up any CPU-specific definitions.
38
#include 
39
 
40
// Debug mode support. Debug mode basic_string is not allowed to be
41
// associated with std, because of locale and exception link
42
// dependence.
43
namespace __gnu_debug_def { }
44
 
45
namespace __gnu_debug
46
{
47
  using namespace __gnu_debug_def;
48
}
49
 
50
#ifdef _GLIBCXX_DEBUG
51
# define _GLIBCXX_STD __gnu_norm
52
# define _GLIBCXX_EXTERN_TEMPLATE 0
53
namespace __gnu_norm
54
{
55
  using namespace std;
56
}
57
namespace std
58
{
59
  using namespace __gnu_debug_def __attribute__ ((strong));
60
}
61
# if __NO_INLINE__ && !__GXX_WEAK__
62
#  warning debug mode without inlining may fail due to lack of weak symbols
63
# endif
64
#else
65
# define _GLIBCXX_STD std
66
#endif
67
 
68
// Allow use of "export template." This is currently not a feature
69
// that g++ supports.
70
// #define _GLIBCXX_EXPORT_TEMPLATE 1
71
 
72
// Allow use of the GNU syntax extension, "extern template." This
73
// extension is fully documented in the g++ manual, but in a nutshell,
74
// it inhibits all implicit instantiations and is used throughout the
75
// library to avoid multiple weak definitions for required types that
76
// are already explicitly instantiated in the library binary. This
77
// substantially reduces the binary size of resulting executables.
78
#ifndef _GLIBCXX_EXTERN_TEMPLATE
79
# define _GLIBCXX_EXTERN_TEMPLATE 1
80
#endif
81
 
82
// Certain function definitions that are meant to be overridable from
83
// user code are decorated with this macro.  For some targets, this
84
// macro causes these definitions to be weak.
85
#ifndef _GLIBCXX_WEAK_DEFINITION
86
# define _GLIBCXX_WEAK_DEFINITION
87
#endif
88
 
89
// The remainder of the prewritten config is automatic; all the
90
// user hooks are listed above.
91
 
92
// Create a boolean flag to be used to determine if --fast-math is set.
93
#ifdef __FAST_MATH__
94
# define _GLIBCXX_FAST_MATH 1
95
#else
96
# define _GLIBCXX_FAST_MATH 0
97
#endif
98
 
99
// This marks string literals in header files to be extracted for eventual
100
// translation.  It is primarily used for messages in thrown exceptions; see
101
// src/functexcept.cc.  We use __N because the more traditional _N is used
102
// for something else under certain OSes (see BADNAMES).
103
#define __N(msgid)     (msgid)
104
 
105
// End of prewritten config; the discovered settings follow.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.