Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
File List
Globals
EXTERNAL_HEADERS
RSL
include
rw
_config-gcc.h
Go to the documentation of this file.
1
32
// _REENTRANT is defined by the -pthread compiler option
33
34
#ifndef _RWSTD_NO_IMPLICIT_INCLUSION
35
# define _RWSTD_NO_IMPLICIT_INCLUSION
36
#endif
37
38
#ifndef _RWSTD_NO_EXPORT
39
// not implemented
40
# define _RWSTD_NO_EXPORT
41
#endif
42
43
#ifndef __EXCEPTIONS
44
// disable exceptions when the macro __EXCEPTIONS
45
// is not #defined by the compiler, e.g., when
46
// the -fno-exceptions option is used
47
# ifndef _RWSTD_NO_EXCEPTIONS
48
# define _RWSTD_NO_EXCEPTIONS
49
# endif
// _RWSTD_NO_EXCEPTIONS
50
#endif
// __EXCEPTIONS
51
52
#if !defined (_RWSTD_USE_PURE_C_HEADERS)
53
// disabled except when requested
54
# define _RWSTD_NO_PURE_C_HEADERS
55
#endif
// !_RWSTD_USE_PURE_C_HEADERS
56
57
#ifdef _RWSTD_NO_PURE_C_HEADERS
58
// deprecated C headers (the <xxx.h> kind) are fully implemented
59
// in terms of the pure C++ C library headers (the <cxxx> kind)
60
# define _RWSTD_NO_DEPRECATED_C_HEADERS
61
#endif
// _RWSTD_NO_PURE_C_HEADERS
62
63
#if !defined (_RWSTD_STRICT_ANSI) && __GNUG__ <= 2 && __GNUC_MINOR__ < 97
64
// prevent gcc 2.9x ICE
65
# define _RWSTD_NO_PLACEMENT_DELETE
66
#endif
// !_RWSTD_STRICT_ANSI
67
68
#if __GNUG__ < 3
69
// gcc 2.x doesn't understand the extern template syntax
70
// but only issues a warning: ANSI C++ forbids the use
71
// of `extern' on explicit instantiations
72
# ifndef _RWSTD_NO_EXTERN_TEMPLATE
73
# define _RWSTD_NO_EXTERN_TEMPLATE
74
# endif
// _RWSTD_NO_EXTERN_TEMPLATE
75
#endif
// gcc 2.x
76
77
#if __GNUG__ <= 2 && __GNUC_MINOR__ < 97 && defined (_RWSTD_NO_HONOR_STD)
78
// standard iostream objects are declared as objects of their respective
79
// types by defined as POD's to prevent their destruction during program
80
// lifetime (done to work around a g++ 2.95.2 bug that prevents g++
81
// from deducing the type of references to the objects in template code)
82
# define _RWSTD_NO_IOSTREAM_OBJECT_REFS
83
#endif
//__GNUG__ <= 2 && __GNUC_MINOR__ < 97 && _RWSTD_NO_HONOR_STD
84
85
#define _RWSTD_GNUC_ATTRIBUTE(attr) __attribute__ (attr)
86
87
// gcc attribute((noreturn)) to indicate that a function doesn't return
88
// (it may still exit by throwing an exception or by calling longjmp)
89
#define _RWSTD_ATTRIBUTE_NORETURN _RWSTD_GNUC_ATTRIBUTE ((noreturn))
90
91
#if __GNUG__ > 3 || __GNUG__ == 3 && __GNUC_MINOR__ >= 3
92
// gcc attribute((nothrow)) to indicate that a function doesn't throw
93
// exceptions; unlike the emtpy exception specification the attribute
94
// avoids the cost of checking for exceptions and calling unexpected()
95
# define _RWSTD_ATTRIBUTE_NOTHROW _RWSTD_GNUC_ATTRIBUTE ((nothrow))
96
#endif
// gcc >= 3.3
97
98
#ifdef _RWSTD_OS_LINUX
99
100
# ifdef _RWSTD_NO_NEW_HEADER
101
# undef _RWSTD_NO_NEW_HEADER
102
# endif
// _RWSTD_NO_NEW_HEADER
103
104
// our <cxxx> libc headers put the libc functions in namespace std
105
# ifdef _RWSTD_NO_LIBC_IN_STD
106
# undef _RWSTD_NO_LIBC_IN_STD
107
# endif
// _RWSTD_NO_LIBC_IN_STD
108
109
# ifdef _RWSTD_ANSI_C_LIMITS_H
110
// prevent system header warnings
111
# undef _RWSTD_ANSI_C_LIMITS_H
112
# define _RWSTD_ANSI_C_LIMITS_H <../include/limits.h>
113
# endif
// _RWSTD_ANSI_C_LIMITS_H
114
#endif
// _RWSTD_OS_LINUX
115
116
#ifdef _RWSTD_OS_AIX
117
// functions called from member functions of explicitly instantiated
118
// class templates aren't "implicitly" instantiated (compiler bug)
119
# define _RWSTD_NO_IMPLICIT_INSTANTIATION
120
#endif
121
122
// force using /usr/include/math.h
123
// prevent recursion caused by pulling in gcc's own "fixed" header
124
#undef _RWSTD_ANSI_C_MATH_H
125
126
// use new C++ libc headers
127
#undef _RWSTD_NO_NEW_HEADER
128
129
#undef _RWSTD_NO_LIBC_IN_STD
130
131
#undef _RWSTD_NO_DEPRECATED_LIBC_IN_STD
132
133
134
#ifdef __CYGWIN__
135
// use our own C++ libc headers
136
# undef _RWSTD_NO_NEW_HEADER
137
// libc is wrapped in namespaces std
138
# undef _RWSTD_NO_LIBC_IN_STD
139
// deprecated C++ libc headers don't introduce names into namespace std
140
# ifndef _RWSTD_NO_DEPRECATED_LIBC_IN_STD
141
# define _RWSTD_NO_DEPRECATED_LIBC_IN_STD
142
# endif
143
144
# ifdef _RWSHARED
145
// disable exporting tmeplate instantiations in shared builds
146
// see STDCXX-507
147
# define _RWSTD_NO_EXTERN_TEMPLATE
148
149
// operator new and delete is not reliably replaceable across
150
// shared library boundaries, which includes the shared library
151
// version of the language support library
152
# define _RWSTD_NO_REPLACEABLE_NEW_DELETE
153
# endif
154
#endif
// __CYGWIN__
155
156
157
#ifdef __MINGW32__
158
# ifdef _RWSHARED
159
// disable exporting temeplate instantiations in shared builds
160
// see STDCXX-507
161
# define _RWSTD_NO_EXTERN_TEMPLATE
162
# endif
163
164
// operator new and delete is not reliably replaceable across
165
// shared library boundaries, which includes the shared library
166
// version of the language support library
167
// on MinGW the language support library is always shared
168
# define _RWSTD_NO_REPLACEABLE_NEW_DELETE
169
#endif
// __MINGW32__
170
171
172
#ifdef _RWSTD_OS_OSF1
173
// sizeof (long double) == sizeof (double), 'L' causes SIGSEGV
174
# define _RWSTD_LDBL_PRINTF_PREFIX ""
175
# define _RWSTD_LDBL_SCANF_PREFIX "l"
176
177
#endif
// _RWSTD_OS_OSF1
178
179
180
#ifdef _RWSTD_OS_SUNOS
181
182
// _SOLARIS_THREADS #defined when the -threads option is used on SunOS
183
# if defined (_SOLARIS_THREADS) && !defined (_RWSTD_SOLARIS_THREADS)
184
# define _RWSTD_SOLARIS_THREADS
185
# endif
// _SOLARIS_THREADS && !_RWSTD_SOLARIS_THREADS
186
187
// _PTHREADS #defined when the -pthreads option is used on SunOS
188
# if defined (_PTHREADS) && !defined (_RWSTD_POSIX_THREADS)
189
# define _RWSTD_POSIX_THREADS
190
# endif
// _PTHREADS && !_RWSTD_POSIX_THREADS
191
192
# if __GNUG__ == 3 && __GNUC_MINOR__ < 1
193
// Avoid gcc 3.0.1 header configuration confusion with wchar
194
# ifndef _RWSTD_NO_NEW_HEADER
195
# define _RWSTD_NO_NEW_HEADER
196
# endif
197
# ifndef _RWSTD_NO_LIBC_IN_STD
198
# define _RWSTD_NO_LIBC_IN_STD
199
# endif
200
# endif
// __GNUG__ == 3 && __GNUC_MINOR__ < 1
201
#endif
// _RWSTD_OS_SUNOS
202
203
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
204
# define _RWSTD_TT_IS_ENUM(T) __is_enum(T)
205
# define _RWSTD_TT_IS_UNION(T) __is_union(T)
206
# define _RWSTD_TT_IS_CLASS(T) __is_class(T)
207
# define _RWSTD_TT_IS_POD(T) __is_pod(T)
208
# define _RWSTD_TT_IS_EMPTY(T) __is_empty(T)
209
# define _RWSTD_TT_IS_POLYMORPHIC(T) __is_polymorphic(T)
210
# define _RWSTD_TT_IS_ABSTRACT(T) __is_abstract(T)
211
# define _RWSTD_TT_IS_BASE_OF(T,U) __is_base_of(T,U)
212
213
# define _RWSTD_TT_HAS_TRIVIAL_CTOR(T) __has_trivial_constructor(T)
214
# define _RWSTD_TT_HAS_TRIVIAL_COPY(T) __has_trivial_copy(T)
215
# define _RWSTD_TT_HAS_TRIVIAL_ASSIGN(T) __has_trivial_assign(T)
216
# define _RWSTD_TT_HAS_TRIVIAL_DTOR(T) __has_trivial_destructor(T)
217
218
# define _RWSTD_TT_HAS_NOTHROW_CTOR(T) __has_nothrow_constructor(T)
219
# define _RWSTD_TT_HAS_NOTHROW_COPY(T) __has_nothrow_copy(T)
220
# define _RWSTD_TT_HAS_NOTHROW_ASSIGN(T) __has_nothrow_assign(T)
221
222
# define _RWSTD_TT_HAS_VIRTUAL_DTOR(T) __has_virtual_destructor(T)
223
224
# define _RWSTD_TT_ALIGN_OF(T) __alignof__(T)
225
# define _RWSTD_TT_MAX_ALIGNMENT 16
226
# define _RWSTD_TT_ALIGNED_POD(N) \
227
struct { unsigned char _C_align __attribute__ ((aligned ((N)))); }
228
229
# ifdef __GXX_EXPERIMENTAL_CXX0X__
230
// enable C++ 0x features disabled in builds
231
// configured without -std=c++0x or -std=gnu++0x
232
233
// C++ 0x features supported since 4.3.0
234
# undef _RWSTD_NO_VARIADIC_TEMPLATES
235
# undef _RWSTD_NO_RVALUE_REFERENCES
236
# endif
237
238
#endif
// __GNUC__ >= 4.3
239
Generated by
1.9.8