libstdc++
c++config.h
Go to the documentation of this file.
1// Predefined symbols and macros -*- C++ -*-
2
3// Copyright (C) 1997-2021 Free Software Foundation, Inc.
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// Under Section 7 of GPL version 3, you are granted additional
17// permissions described in the GCC Runtime Library Exception, version
18// 3.1, as published by the Free Software Foundation.
19
20// You should have received a copy of the GNU General Public License and
21// a copy of the GCC Runtime Library Exception along with this program;
22// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23// <http://www.gnu.org/licenses/>.
24
25/** @file bits/c++config.h
26 * This is an internal header file, included by other library headers.
27 * Do not attempt to use it directly. @headername{version}
28 */
29
30#ifndef _GLIBCXX_CXX_CONFIG_H
31#define _GLIBCXX_CXX_CONFIG_H 1
32
33// The major release number for the GCC release the C++ library belongs to.
34#define _GLIBCXX_RELEASE 11
35
36// The datestamp of the C++ library in compressed ISO date format.
37#define __GLIBCXX__ 20231024
38
39// Macros for various attributes.
40// _GLIBCXX_PURE
41// _GLIBCXX_CONST
42// _GLIBCXX_NORETURN
43// _GLIBCXX_NOTHROW
44// _GLIBCXX_VISIBILITY
45#ifndef _GLIBCXX_PURE
46# define _GLIBCXX_PURE __attribute__ ((__pure__))
47#endif
48
49#ifndef _GLIBCXX_CONST
50# define _GLIBCXX_CONST __attribute__ ((__const__))
51#endif
52
53#ifndef _GLIBCXX_NORETURN
54# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__))
55#endif
56
57// See below for C++
58#ifndef _GLIBCXX_NOTHROW
59# ifndef __cplusplus
60# define _GLIBCXX_NOTHROW __attribute__((__nothrow__))
61# endif
62#endif
63
64// Macros for visibility attributes.
65// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
66// _GLIBCXX_VISIBILITY
67# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1
68
69#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
70# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
71#else
72// If this is not supplied by the OS-specific or CPU-specific
73// headers included below, it will be defined to an empty default.
74# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V)
75#endif
76
77// Macros for deprecated attributes.
78// _GLIBCXX_USE_DEPRECATED
79// _GLIBCXX_DEPRECATED
80// _GLIBCXX_DEPRECATED_SUGGEST( string-literal )
81// _GLIBCXX11_DEPRECATED
82// _GLIBCXX11_DEPRECATED_SUGGEST( string-literal )
83// _GLIBCXX17_DEPRECATED
84// _GLIBCXX17_DEPRECATED_SUGGEST( string-literal )
85// _GLIBCXX20_DEPRECATED( string-literal )
86// _GLIBCXX20_DEPRECATED_SUGGEST( string-literal )
87#ifndef _GLIBCXX_USE_DEPRECATED
88# define _GLIBCXX_USE_DEPRECATED 1
89#endif
90
91#if defined(__DEPRECATED)
92# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
93# define _GLIBCXX_DEPRECATED_SUGGEST(ALT) \
94 __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
95#else
96# define _GLIBCXX_DEPRECATED
97# define _GLIBCXX_DEPRECATED_SUGGEST(ALT)
98#endif
99
100#if defined(__DEPRECATED) && (__cplusplus >= 201103L)
101# define _GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED
102# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
103#else
104# define _GLIBCXX11_DEPRECATED
105# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT)
106#endif
107
108#if defined(__DEPRECATED) && (__cplusplus >= 201703L)
109# define _GLIBCXX17_DEPRECATED [[__deprecated__]]
110# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
111#else
112# define _GLIBCXX17_DEPRECATED
113# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT)
114#endif
115
116#if defined(__DEPRECATED) && (__cplusplus > 201703L)
117# define _GLIBCXX20_DEPRECATED(MSG) [[deprecated(MSG)]]
118# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
119#else
120# define _GLIBCXX20_DEPRECATED(MSG)
121# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT)
122#endif
123
124// Macros for ABI tag attributes.
125#ifndef _GLIBCXX_ABI_TAG_CXX11
126# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11")))
127#endif
128
129// Macro to warn about unused results.
130#if __cplusplus >= 201703L
131# define _GLIBCXX_NODISCARD [[__nodiscard__]]
132#else
133# define _GLIBCXX_NODISCARD
134#endif
135
136
137
138#if __cplusplus
139
140// Macro for constexpr, to support in mixed 03/0x mode.
141#ifndef _GLIBCXX_CONSTEXPR
142# if __cplusplus >= 201103L
143# define _GLIBCXX_CONSTEXPR constexpr
144# define _GLIBCXX_USE_CONSTEXPR constexpr
145# else
146# define _GLIBCXX_CONSTEXPR
147# define _GLIBCXX_USE_CONSTEXPR const
148# endif
149#endif
150
151#ifndef _GLIBCXX14_CONSTEXPR
152# if __cplusplus >= 201402L
153# define _GLIBCXX14_CONSTEXPR constexpr
154# else
155# define _GLIBCXX14_CONSTEXPR
156# endif
157#endif
158
159#ifndef _GLIBCXX17_CONSTEXPR
160# if __cplusplus >= 201703L
161# define _GLIBCXX17_CONSTEXPR constexpr
162# else
163# define _GLIBCXX17_CONSTEXPR
164# endif
165#endif
166
167#ifndef _GLIBCXX20_CONSTEXPR
168# if __cplusplus > 201703L
169# define _GLIBCXX20_CONSTEXPR constexpr
170# else
171# define _GLIBCXX20_CONSTEXPR
172# endif
173#endif
174
175#ifndef _GLIBCXX17_INLINE
176# if __cplusplus >= 201703L
177# define _GLIBCXX17_INLINE inline
178# else
179# define _GLIBCXX17_INLINE
180# endif
181#endif
182
183// Macro for noexcept, to support in mixed 03/0x mode.
184#ifndef _GLIBCXX_NOEXCEPT
185# if __cplusplus >= 201103L
186# define _GLIBCXX_NOEXCEPT noexcept
187# define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)
188# define _GLIBCXX_USE_NOEXCEPT noexcept
189# define _GLIBCXX_THROW(_EXC)
190# else
191# define _GLIBCXX_NOEXCEPT
192# define _GLIBCXX_NOEXCEPT_IF(...)
193# define _GLIBCXX_USE_NOEXCEPT throw()
194# define _GLIBCXX_THROW(_EXC) throw(_EXC)
195# endif
196#endif
197
198#ifndef _GLIBCXX_NOTHROW
199# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT
200#endif
201
202#ifndef _GLIBCXX_THROW_OR_ABORT
203# if __cpp_exceptions
204# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))
205# else
206# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort())
207# endif
208#endif
209
210#if __cpp_noexcept_function_type
211#define _GLIBCXX_NOEXCEPT_PARM , bool _NE
212#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE)
213#else
214#define _GLIBCXX_NOEXCEPT_PARM
215#define _GLIBCXX_NOEXCEPT_QUAL
216#endif
217
218// Macro for extern template, ie controlling template linkage via use
219// of extern keyword on template declaration. As documented in the g++
220// manual, it inhibits all implicit instantiations and is used
221// throughout the library to avoid multiple weak definitions for
222// required types that are already explicitly instantiated in the
223// library binary. This substantially reduces the binary size of
224// resulting executables.
225// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern
226// templates only in basic_string, thus activating its debug-mode
227// checks even at -O0.
228# define _GLIBCXX_EXTERN_TEMPLATE 1
229
230/*
231 Outline of libstdc++ namespaces.
232
233 namespace std
234 {
235 namespace __debug { }
236 namespace __parallel { }
237 namespace __cxx1998 { }
238
239 namespace __detail {
240 namespace __variant { } // C++17
241 }
242
243 namespace rel_ops { }
244
245 namespace tr1
246 {
247 namespace placeholders { }
248 namespace regex_constants { }
249 namespace __detail { }
250 }
251
252 namespace tr2 { }
253
254 namespace decimal { }
255
256 namespace chrono { } // C++11
257 namespace placeholders { } // C++11
258 namespace regex_constants { } // C++11
259 namespace this_thread { } // C++11
260 inline namespace literals { // C++14
261 inline namespace chrono_literals { } // C++14
262 inline namespace complex_literals { } // C++14
263 inline namespace string_literals { } // C++14
264 inline namespace string_view_literals { } // C++17
265 }
266 }
267
268 namespace abi { }
269
270 namespace __gnu_cxx
271 {
272 namespace __detail { }
273 }
274
275 For full details see:
276 http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html
277*/
278namespace std
279{
280 typedef __SIZE_TYPE__ size_t;
281 typedef __PTRDIFF_TYPE__ ptrdiff_t;
282
283#if __cplusplus >= 201103L
284 typedef decltype(nullptr) nullptr_t;
285#endif
286}
287
288# define _GLIBCXX_USE_DUAL_ABI 1
289
290#if ! _GLIBCXX_USE_DUAL_ABI
291// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI
292# undef _GLIBCXX_USE_CXX11_ABI
293#endif
294
295#ifndef _GLIBCXX_USE_CXX11_ABI
296# define _GLIBCXX_USE_CXX11_ABI 1
297#endif
298
299#if _GLIBCXX_USE_CXX11_ABI
300namespace std
301{
302 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
303}
304namespace __gnu_cxx
305{
306 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
307}
308# define _GLIBCXX_NAMESPACE_CXX11 __cxx11::
309# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {
310# define _GLIBCXX_END_NAMESPACE_CXX11 }
311# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11
312#else
313# define _GLIBCXX_NAMESPACE_CXX11
314# define _GLIBCXX_BEGIN_NAMESPACE_CXX11
315# define _GLIBCXX_END_NAMESPACE_CXX11
316# define _GLIBCXX_DEFAULT_ABI_TAG
317#endif
318
319// Defined if inline namespaces are used for versioning.
320# define _GLIBCXX_INLINE_VERSION 0
321
322// Inline namespace for symbol versioning.
323#if _GLIBCXX_INLINE_VERSION
324# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 {
325# define _GLIBCXX_END_NAMESPACE_VERSION }
326
327namespace std
328{
329inline _GLIBCXX_BEGIN_NAMESPACE_VERSION
330#if __cplusplus >= 201402L
331 inline namespace literals {
332 inline namespace chrono_literals { }
333 inline namespace complex_literals { }
334 inline namespace string_literals { }
335#if __cplusplus > 201402L
336 inline namespace string_view_literals { }
337#endif // C++17
338 }
339#endif // C++14
340_GLIBCXX_END_NAMESPACE_VERSION
341}
342
343namespace __gnu_cxx
344{
345inline _GLIBCXX_BEGIN_NAMESPACE_VERSION
346_GLIBCXX_END_NAMESPACE_VERSION
347}
348
349#else
350# define _GLIBCXX_BEGIN_NAMESPACE_VERSION
351# define _GLIBCXX_END_NAMESPACE_VERSION
352#endif
353
354// Inline namespaces for special modes: debug, parallel.
355#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL)
356namespace std
357{
358_GLIBCXX_BEGIN_NAMESPACE_VERSION
359
360 // Non-inline namespace for components replaced by alternates in active mode.
361 namespace __cxx1998
362 {
363# if _GLIBCXX_USE_CXX11_ABI
364 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
365# endif
366 }
367
368_GLIBCXX_END_NAMESPACE_VERSION
369
370 // Inline namespace for debug mode.
371# ifdef _GLIBCXX_DEBUG
372 inline namespace __debug { }
373# endif
374
375 // Inline namespaces for parallel mode.
376# ifdef _GLIBCXX_PARALLEL
377 inline namespace __parallel { }
378# endif
379}
380
381// Check for invalid usage and unsupported mixed-mode use.
382# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL)
383# error illegal use of multiple inlined namespaces
384# endif
385
386// Check for invalid use due to lack for weak symbols.
387# if __NO_INLINE__ && !__GXX_WEAK__
388# warning currently using inlined namespace mode which may fail \
389 without inlining due to lack of weak symbols
390# endif
391#endif
392
393// Macros for namespace scope. Either namespace std:: or the name
394// of some nested namespace within it corresponding to the active mode.
395// _GLIBCXX_STD_A
396// _GLIBCXX_STD_C
397//
398// Macros for opening/closing conditional namespaces.
399// _GLIBCXX_BEGIN_NAMESPACE_ALGO
400// _GLIBCXX_END_NAMESPACE_ALGO
401// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
402// _GLIBCXX_END_NAMESPACE_CONTAINER
403#if defined(_GLIBCXX_DEBUG)
404# define _GLIBCXX_STD_C __cxx1998
405# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \
406 namespace _GLIBCXX_STD_C {
407# define _GLIBCXX_END_NAMESPACE_CONTAINER }
408#else
409# define _GLIBCXX_STD_C std
410# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
411# define _GLIBCXX_END_NAMESPACE_CONTAINER
412#endif
413
414#ifdef _GLIBCXX_PARALLEL
415# define _GLIBCXX_STD_A __cxx1998
416# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \
417 namespace _GLIBCXX_STD_A {
418# define _GLIBCXX_END_NAMESPACE_ALGO }
419#else
420# define _GLIBCXX_STD_A std
421# define _GLIBCXX_BEGIN_NAMESPACE_ALGO
422# define _GLIBCXX_END_NAMESPACE_ALGO
423#endif
424
425// GLIBCXX_ABI Deprecated
426// Define if compatibility should be provided for -mlong-double-64.
427#undef _GLIBCXX_LONG_DOUBLE_COMPAT
428
429// Define if compatibility should be provided for alternative 128-bit long
430// double formats. Not possible for Clang until __ibm128 is supported.
431#ifndef __clang__
432#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT
433#endif
434
435// Inline namespaces for long double 128 modes.
436#if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \
437 && defined __LONG_DOUBLE_IEEE128__
438namespace std
439{
440 // Namespaces for 128-bit IEEE long double format on 64-bit POWER LE.
441 inline namespace __gnu_cxx_ieee128 { }
442 inline namespace __gnu_cxx11_ieee128 { }
443}
444# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ieee128::
445# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ieee128 {
446# define _GLIBCXX_END_NAMESPACE_LDBL }
447# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 __gnu_cxx11_ieee128::
448# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 namespace __gnu_cxx11_ieee128 {
449# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 }
450
451#else // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128
452
453#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
454namespace std
455{
456 inline namespace __gnu_cxx_ldbl128 { }
457}
458# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128::
459# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 {
460# define _GLIBCXX_END_NAMESPACE_LDBL }
461#else
462# define _GLIBCXX_NAMESPACE_LDBL
463# define _GLIBCXX_BEGIN_NAMESPACE_LDBL
464# define _GLIBCXX_END_NAMESPACE_LDBL
465#endif
466
467#if _GLIBCXX_USE_CXX11_ABI
468# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11
469# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11
470# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11
471#else
472# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL
473# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL
474# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL
475#endif
476
477#endif // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128
478
479// Debug Mode implies checking assertions.
480#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS)
481# define _GLIBCXX_ASSERTIONS 1
482#endif
483
484// Disable std::string explicit instantiation declarations in order to assert.
485#ifdef _GLIBCXX_ASSERTIONS
486# undef _GLIBCXX_EXTERN_TEMPLATE
487# define _GLIBCXX_EXTERN_TEMPLATE -1
488#endif
489
490
491#if __has_builtin(__builtin_is_constant_evaluated)
492# define __glibcxx_constexpr_assert(cond) \
493 if (__builtin_is_constant_evaluated() && !bool(cond)) \
494 __builtin_unreachable() /* precondition violation detected! */
495#else
496# define __glibcxx_constexpr_assert(unevaluated)
497#endif
498
499
500// Assert.
501#if defined(_GLIBCXX_ASSERTIONS) \
502 || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS)
503namespace std
504{
505 // Avoid the use of assert, because we're trying to keep the <cassert>
506 // include out of the mix.
507 extern "C++" _GLIBCXX_NORETURN
508 inline void
509 __replacement_assert(const char* __file, int __line,
510 const char* __function, const char* __condition)
511 {
512 __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
513 __function, __condition);
514 __builtin_abort();
515 }
516}
517#define __glibcxx_assert_impl(_Condition) \
518 if (__builtin_expect(!bool(_Condition), false)) \
519 { \
520 __glibcxx_constexpr_assert(_Condition); \
521 std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
522 #_Condition); \
523 }
524#endif
525
526#if defined(_GLIBCXX_ASSERTIONS)
527# define __glibcxx_assert(cond) \
528 do { __glibcxx_assert_impl(cond); } while (false)
529#else
530# define __glibcxx_assert(cond) \
531 do { __glibcxx_constexpr_assert(cond); } while (false)
532#endif
533
534// Macros for race detectors.
535// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and
536// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain
537// atomic (lock-free) synchronization to race detectors:
538// the race detector will infer a happens-before arc from the former to the
539// latter when they share the same argument pointer.
540//
541// The most frequent use case for these macros (and the only case in the
542// current implementation of the library) is atomic reference counting:
543// void _M_remove_reference()
544// {
545// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount);
546// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0)
547// {
548// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount);
549// _M_destroy(__a);
550// }
551// }
552// The annotations in this example tell the race detector that all memory
553// accesses occurred when the refcount was positive do not race with
554// memory accesses which occurred after the refcount became zero.
555#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE
556# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A)
557#endif
558#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER
559# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A)
560#endif
561
562// Macros for C linkage: define extern "C" linkage only when using C++.
563# define _GLIBCXX_BEGIN_EXTERN_C extern "C" {
564# define _GLIBCXX_END_EXTERN_C }
565
566# define _GLIBCXX_USE_ALLOCATOR_NEW 1
567
568#ifdef __SIZEOF_INT128__
569#if ! defined __GLIBCXX_TYPE_INT_N_0 && ! defined __STRICT_ANSI__
570// If __int128 is supported, we expect __GLIBCXX_TYPE_INT_N_0 to be defined
571// unless the compiler is in strict mode. If it's not defined and the strict
572// macro is not defined, something is wrong.
573#warning "__STRICT_ANSI__ seems to have been undefined; this is not supported"
574#endif
575#endif
576
577#else // !__cplusplus
578# define _GLIBCXX_BEGIN_EXTERN_C
579# define _GLIBCXX_END_EXTERN_C
580#endif
581
582
583// First includes.
584
585// Pick up any OS-specific definitions.
586#include <bits/os_defines.h>
587
588// Pick up any CPU-specific definitions.
589#include <bits/cpu_defines.h>
590
591// If platform uses neither visibility nor psuedo-visibility,
592// specify empty default for namespace annotation macros.
593#ifndef _GLIBCXX_PSEUDO_VISIBILITY
594# define _GLIBCXX_PSEUDO_VISIBILITY(V)
595#endif
596
597// Certain function definitions that are meant to be overridable from
598// user code are decorated with this macro. For some targets, this
599// macro causes these definitions to be weak.
600#ifndef _GLIBCXX_WEAK_DEFINITION
601# define _GLIBCXX_WEAK_DEFINITION
602#endif
603
604// By default, we assume that __GXX_WEAK__ also means that there is support
605// for declaring functions as weak while not defining such functions. This
606// allows for referring to functions provided by other libraries (e.g.,
607// libitm) without depending on them if the respective features are not used.
608#ifndef _GLIBCXX_USE_WEAK_REF
609# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__
610#endif
611
612// Conditionally enable annotations for the Transactional Memory TS on C++11.
613// Most of the following conditions are due to limitations in the current
614// implementation.
615#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \
616 && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \
617 && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \
618 && _GLIBCXX_USE_ALLOCATOR_NEW
619#define _GLIBCXX_TXN_SAFE transaction_safe
620#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic
621#else
622#define _GLIBCXX_TXN_SAFE
623#define _GLIBCXX_TXN_SAFE_DYN
624#endif
625
626#if __cplusplus > 201402L
627// In C++17 mathematical special functions are in namespace std.
628# define _GLIBCXX_USE_STD_SPEC_FUNCS 1
629#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0
630// For C++11 and C++14 they are in namespace std when requested.
631# define _GLIBCXX_USE_STD_SPEC_FUNCS 1
632#endif
633
634// The remainder of the prewritten config is automatic; all the
635// user hooks are listed above.
636
637// Create a boolean flag to be used to determine if --fast-math is set.
638#ifdef __FAST_MATH__
639# define _GLIBCXX_FAST_MATH 1
640#else
641# define _GLIBCXX_FAST_MATH 0
642#endif
643
644// This marks string literals in header files to be extracted for eventual
645// translation. It is primarily used for messages in thrown exceptions; see
646// src/functexcept.cc. We use __N because the more traditional _N is used
647// for something else under certain OSes (see BADNAMES).
648#define __N(msgid) (msgid)
649
650// For example, <windows.h> is known to #define min and max as macros...
651#undef min
652#undef max
653
654// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally
655// so they should be tested with #if not with #ifdef.
656#if __cplusplus >= 201103L
657# ifndef _GLIBCXX_USE_C99_MATH
658# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH
659# endif
660# ifndef _GLIBCXX_USE_C99_COMPLEX
661# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX
662# endif
663# ifndef _GLIBCXX_USE_C99_STDIO
664# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO
665# endif
666# ifndef _GLIBCXX_USE_C99_STDLIB
667# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB
668# endif
669# ifndef _GLIBCXX_USE_C99_WCHAR
670# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR
671# endif
672#else
673# ifndef _GLIBCXX_USE_C99_MATH
674# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH
675# endif
676# ifndef _GLIBCXX_USE_C99_COMPLEX
677# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX
678# endif
679# ifndef _GLIBCXX_USE_C99_STDIO
680# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO
681# endif
682# ifndef _GLIBCXX_USE_C99_STDLIB
683# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB
684# endif
685# ifndef _GLIBCXX_USE_C99_WCHAR
686# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR
687# endif
688#endif
689
690// Unless explicitly specified, enable char8_t extensions only if the core
691// language char8_t feature macro is defined.
692#ifndef _GLIBCXX_USE_CHAR8_T
693# ifdef __cpp_char8_t
694# define _GLIBCXX_USE_CHAR8_T 1
695# endif
696#endif
697#ifdef _GLIBCXX_USE_CHAR8_T
698# define __cpp_lib_char8_t 201907L
699#endif
700
701/* Define if __float128 is supported on this host. */
702#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__)
703/* For powerpc64 don't use __float128 when it's the same type as long double. */
704# if !(defined(_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT) && defined(__LONG_DOUBLE_IEEE128__))
705# define _GLIBCXX_USE_FLOAT128 1
706# endif
707#endif
708
709// Define if float has the IEEE binary32 format.
710#if __FLT_MANT_DIG__ == 24 \
711 && __FLT_MIN_EXP__ == -125 \
712 && __FLT_MAX_EXP__ == 128
713# define _GLIBCXX_FLOAT_IS_IEEE_BINARY32 1
714#endif
715
716// Define if double has the IEEE binary64 format.
717#if __DBL_MANT_DIG__ == 53 \
718 && __DBL_MIN_EXP__ == -1021 \
719 && __DBL_MAX_EXP__ == 1024
720# define _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1
721#endif
722
723#ifdef __has_builtin
724# ifdef __is_identifier
725// Intel and older Clang require !__is_identifier for some built-ins:
726# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) || ! __is_identifier(B)
727# else
728# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)
729# endif
730#endif
731
732#if _GLIBCXX_HAS_BUILTIN(__has_unique_object_representations)
733# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1
734#endif
735
736#if _GLIBCXX_HAS_BUILTIN(__is_aggregate)
737# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1
738#endif
739
740#if _GLIBCXX_HAS_BUILTIN(__builtin_is_constant_evaluated)
741# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1
742#endif
743
744#if _GLIBCXX_HAS_BUILTIN(__is_same)
745# define _GLIBCXX_HAVE_BUILTIN_IS_SAME 1
746#endif
747
748#if _GLIBCXX_HAS_BUILTIN(__builtin_launder)
749# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1
750#endif
751
752#undef _GLIBCXX_HAS_BUILTIN
753
754
755// PSTL configuration
756
757#if __cplusplus >= 201703L
758// This header is not installed for freestanding:
759#if __has_include(<pstl/pstl_config.h>)
760// Preserved here so we have some idea which version of upstream we've pulled in
761// #define PSTL_VERSION 9000
762
763// For now this defaults to being based on the presence of Thread Building Blocks
764# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND
765# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>)
766# endif
767// This section will need some rework when a new (default) backend type is added
768# if _GLIBCXX_USE_TBB_PAR_BACKEND
769# define _PSTL_PAR_BACKEND_TBB
770# else
771# define _PSTL_PAR_BACKEND_SERIAL
772# endif
773
774# define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition)
775# define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition)
776
777#include <pstl/pstl_config.h>
778#endif // __has_include
779#endif // C++17
780
781// End of prewritten config; the settings discovered at configure time follow.
782/* config.h. Generated from config.h.in by configure. */
783/* config.h.in. Generated from configure.ac by autoheader. */
784
785/* Define to 1 if you have the `acosf' function. */
786#define _GLIBCXX_HAVE_ACOSF 1
787
788/* Define to 1 if you have the `acosl' function. */
789#define _GLIBCXX_HAVE_ACOSL 1
790
791/* Define to 1 if you have the `aligned_alloc' function. */
792#define _GLIBCXX_HAVE_ALIGNED_ALLOC 1
793
794/* Define to 1 if you have the <arpa/inet.h> header file. */
795#define _GLIBCXX_HAVE_ARPA_INET_H 1
796
797/* Define to 1 if you have the `asinf' function. */
798#define _GLIBCXX_HAVE_ASINF 1
799
800/* Define to 1 if you have the `asinl' function. */
801#define _GLIBCXX_HAVE_ASINL 1
802
803/* Define to 1 if the target assembler supports .symver directive. */
804#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1
805
806/* Define to 1 if you have the `atan2f' function. */
807#define _GLIBCXX_HAVE_ATAN2F 1
808
809/* Define to 1 if you have the `atan2l' function. */
810#define _GLIBCXX_HAVE_ATAN2L 1
811
812/* Define to 1 if you have the `atanf' function. */
813#define _GLIBCXX_HAVE_ATANF 1
814
815/* Define to 1 if you have the `atanl' function. */
816#define _GLIBCXX_HAVE_ATANL 1
817
818/* Defined if shared_ptr reference counting should use atomic operations. */
819#define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1
820
821/* Define to 1 if you have the `at_quick_exit' function. */
822#define _GLIBCXX_HAVE_AT_QUICK_EXIT 1
823
824/* Define to 1 if the target assembler supports thread-local storage. */
825/* #undef _GLIBCXX_HAVE_CC_TLS */
826
827/* Define to 1 if you have the `ceilf' function. */
828#define _GLIBCXX_HAVE_CEILF 1
829
830/* Define to 1 if you have the `ceill' function. */
831#define _GLIBCXX_HAVE_CEILL 1
832
833/* Define to 1 if you have the <complex.h> header file. */
834#define _GLIBCXX_HAVE_COMPLEX_H 1
835
836/* Define to 1 if you have the `cosf' function. */
837#define _GLIBCXX_HAVE_COSF 1
838
839/* Define to 1 if you have the `coshf' function. */
840#define _GLIBCXX_HAVE_COSHF 1
841
842/* Define to 1 if you have the `coshl' function. */
843#define _GLIBCXX_HAVE_COSHL 1
844
845/* Define to 1 if you have the `cosl' function. */
846#define _GLIBCXX_HAVE_COSL 1
847
848/* Define to 1 if you have the <dirent.h> header file. */
849#define _GLIBCXX_HAVE_DIRENT_H 1
850
851/* Define if dirfd is available in <dirent.h>. */
852#define _GLIBCXX_HAVE_DIRFD 1
853
854/* Define to 1 if you have the <dlfcn.h> header file. */
855#define _GLIBCXX_HAVE_DLFCN_H 1
856
857/* Define to 1 if you have the <endian.h> header file. */
858#define _GLIBCXX_HAVE_ENDIAN_H 1
859
860/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
861#define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1
862
863/* Define to 1 if you have the <execinfo.h> header file. */
864#define _GLIBCXX_HAVE_EXECINFO_H 1
865
866/* Define to 1 if you have the `expf' function. */
867#define _GLIBCXX_HAVE_EXPF 1
868
869/* Define to 1 if you have the `expl' function. */
870#define _GLIBCXX_HAVE_EXPL 1
871
872/* Define to 1 if you have the `fabsf' function. */
873#define _GLIBCXX_HAVE_FABSF 1
874
875/* Define to 1 if you have the `fabsl' function. */
876#define _GLIBCXX_HAVE_FABSL 1
877
878/* Define to 1 if you have the <fcntl.h> header file. */
879#define _GLIBCXX_HAVE_FCNTL_H 1
880
881/* Define if fdopendir is available in <dirent.h>. */
882#define _GLIBCXX_HAVE_FDOPENDIR 1
883
884/* Define to 1 if you have the <fenv.h> header file. */
885#define _GLIBCXX_HAVE_FENV_H 1
886
887/* Define to 1 if you have the `finite' function. */
888#define _GLIBCXX_HAVE_FINITE 1
889
890/* Define to 1 if you have the `finitef' function. */
891#define _GLIBCXX_HAVE_FINITEF 1
892
893/* Define to 1 if you have the `finitel' function. */
894#define _GLIBCXX_HAVE_FINITEL 1
895
896/* Define to 1 if you have the <float.h> header file. */
897#define _GLIBCXX_HAVE_FLOAT_H 1
898
899/* Define to 1 if you have the `floorf' function. */
900#define _GLIBCXX_HAVE_FLOORF 1
901
902/* Define to 1 if you have the `floorl' function. */
903#define _GLIBCXX_HAVE_FLOORL 1
904
905/* Define to 1 if you have the `fmodf' function. */
906#define _GLIBCXX_HAVE_FMODF 1
907
908/* Define to 1 if you have the `fmodl' function. */
909#define _GLIBCXX_HAVE_FMODL 1
910
911/* Define to 1 if you have the `fpclass' function. */
912/* #undef _GLIBCXX_HAVE_FPCLASS */
913
914/* Define to 1 if you have the <fp.h> header file. */
915/* #undef _GLIBCXX_HAVE_FP_H */
916
917/* Define to 1 if you have the `frexpf' function. */
918#define _GLIBCXX_HAVE_FREXPF 1
919
920/* Define to 1 if you have the `frexpl' function. */
921#define _GLIBCXX_HAVE_FREXPL 1
922
923/* Define if _Unwind_GetIPInfo is available. */
924#define _GLIBCXX_HAVE_GETIPINFO 1
925
926/* Define if gets is available in <stdio.h> before C++14. */
927#define _GLIBCXX_HAVE_GETS 1
928
929/* Define to 1 if you have the `hypot' function. */
930#define _GLIBCXX_HAVE_HYPOT 1
931
932/* Define to 1 if you have the `hypotf' function. */
933#define _GLIBCXX_HAVE_HYPOTF 1
934
935/* Define to 1 if you have the `hypotl' function. */
936#define _GLIBCXX_HAVE_HYPOTL 1
937
938/* Define if you have the iconv() function. */
939#define _GLIBCXX_HAVE_ICONV 1
940
941/* Define to 1 if you have the <ieeefp.h> header file. */
942/* #undef _GLIBCXX_HAVE_IEEEFP_H */
943
944/* Define if int64_t is available in <stdint.h>. */
945#define _GLIBCXX_HAVE_INT64_T 1
946
947/* Define if int64_t is a long. */
948#define _GLIBCXX_HAVE_INT64_T_LONG 1
949
950/* Define if int64_t is a long long. */
951/* #undef _GLIBCXX_HAVE_INT64_T_LONG_LONG */
952
953/* Define to 1 if you have the <inttypes.h> header file. */
954#define _GLIBCXX_HAVE_INTTYPES_H 1
955
956/* Define to 1 if you have the `isinf' function. */
957/* #undef _GLIBCXX_HAVE_ISINF */
958
959/* Define to 1 if you have the `isinff' function. */
960#define _GLIBCXX_HAVE_ISINFF 1
961
962/* Define to 1 if you have the `isinfl' function. */
963#define _GLIBCXX_HAVE_ISINFL 1
964
965/* Define to 1 if you have the `isnan' function. */
966/* #undef _GLIBCXX_HAVE_ISNAN */
967
968/* Define to 1 if you have the `isnanf' function. */
969#define _GLIBCXX_HAVE_ISNANF 1
970
971/* Define to 1 if you have the `isnanl' function. */
972#define _GLIBCXX_HAVE_ISNANL 1
973
974/* Defined if iswblank exists. */
975#define _GLIBCXX_HAVE_ISWBLANK 1
976
977/* Define if LC_MESSAGES is available in <locale.h>. */
978#define _GLIBCXX_HAVE_LC_MESSAGES 1
979
980/* Define to 1 if you have the `ldexpf' function. */
981#define _GLIBCXX_HAVE_LDEXPF 1
982
983/* Define to 1 if you have the `ldexpl' function. */
984#define _GLIBCXX_HAVE_LDEXPL 1
985
986/* Define to 1 if you have the <libintl.h> header file. */
987#define _GLIBCXX_HAVE_LIBINTL_H 1
988
989/* Only used in build directory testsuite_hooks.h. */
990#define _GLIBCXX_HAVE_LIMIT_AS 1
991
992/* Only used in build directory testsuite_hooks.h. */
993#define _GLIBCXX_HAVE_LIMIT_DATA 1
994
995/* Only used in build directory testsuite_hooks.h. */
996#define _GLIBCXX_HAVE_LIMIT_FSIZE 1
997
998/* Only used in build directory testsuite_hooks.h. */
999#define _GLIBCXX_HAVE_LIMIT_RSS 1
1000
1001/* Only used in build directory testsuite_hooks.h. */
1002#define _GLIBCXX_HAVE_LIMIT_VMEM 0
1003
1004/* Define if link is available in <unistd.h>. */
1005#define _GLIBCXX_HAVE_LINK 1
1006
1007/* Define if futex syscall is available. */
1008#define _GLIBCXX_HAVE_LINUX_FUTEX 1
1009
1010/* Define to 1 if you have the <linux/random.h> header file. */
1011#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1
1012
1013/* Define to 1 if you have the <linux/types.h> header file. */
1014#define _GLIBCXX_HAVE_LINUX_TYPES_H 1
1015
1016/* Define to 1 if you have the <locale.h> header file. */
1017#define _GLIBCXX_HAVE_LOCALE_H 1
1018
1019/* Define to 1 if you have the `log10f' function. */
1020#define _GLIBCXX_HAVE_LOG10F 1
1021
1022/* Define to 1 if you have the `log10l' function. */
1023#define _GLIBCXX_HAVE_LOG10L 1
1024
1025/* Define to 1 if you have the `logf' function. */
1026#define _GLIBCXX_HAVE_LOGF 1
1027
1028/* Define to 1 if you have the `logl' function. */
1029#define _GLIBCXX_HAVE_LOGL 1
1030
1031/* Define to 1 if you have the <machine/endian.h> header file. */
1032/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */
1033
1034/* Define to 1 if you have the <machine/param.h> header file. */
1035/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */
1036
1037/* Define if mbstate_t exists in wchar.h. */
1038#define _GLIBCXX_HAVE_MBSTATE_T 1
1039
1040/* Define to 1 if you have the `memalign' function. */
1041#define _GLIBCXX_HAVE_MEMALIGN 1
1042
1043/* Define to 1 if you have the <memory.h> header file. */
1044#define _GLIBCXX_HAVE_MEMORY_H 1
1045
1046/* Define to 1 if you have the `modf' function. */
1047#define _GLIBCXX_HAVE_MODF 1
1048
1049/* Define to 1 if you have the `modff' function. */
1050#define _GLIBCXX_HAVE_MODFF 1
1051
1052/* Define to 1 if you have the `modfl' function. */
1053#define _GLIBCXX_HAVE_MODFL 1
1054
1055/* Define to 1 if you have the <nan.h> header file. */
1056/* #undef _GLIBCXX_HAVE_NAN_H */
1057
1058/* Define to 1 if you have the <netdb.h> header file. */
1059#define _GLIBCXX_HAVE_NETDB_H 1
1060
1061/* Define to 1 if you have the <netinet/in.h> header file. */
1062#define _GLIBCXX_HAVE_NETINET_IN_H 1
1063
1064/* Define to 1 if you have the <netinet/tcp.h> header file. */
1065#define _GLIBCXX_HAVE_NETINET_TCP_H 1
1066
1067/* Define if <math.h> defines obsolete isinf function. */
1068/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */
1069
1070/* Define if <math.h> defines obsolete isnan function. */
1071/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */
1072
1073/* Define if openat is available in <fcntl.h>. */
1074#define _GLIBCXX_HAVE_OPENAT 1
1075
1076/* Define if poll is available in <poll.h>. */
1077#define _GLIBCXX_HAVE_POLL 1
1078
1079/* Define to 1 if you have the <poll.h> header file. */
1080#define _GLIBCXX_HAVE_POLL_H 1
1081
1082/* Define to 1 if you have the `posix_memalign' function. */
1083#define _GLIBCXX_HAVE_POSIX_MEMALIGN 1
1084
1085/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
1086 <semaphore.h>. */
1087#define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1
1088
1089/* Define to 1 if you have the `powf' function. */
1090#define _GLIBCXX_HAVE_POWF 1
1091
1092/* Define to 1 if you have the `powl' function. */
1093#define _GLIBCXX_HAVE_POWL 1
1094
1095/* Define to 1 if you have the `qfpclass' function. */
1096/* #undef _GLIBCXX_HAVE_QFPCLASS */
1097
1098/* Define to 1 if you have the `quick_exit' function. */
1099#define _GLIBCXX_HAVE_QUICK_EXIT 1
1100
1101/* Define if readlink is available in <unistd.h>. */
1102#define _GLIBCXX_HAVE_READLINK 1
1103
1104/* Define to 1 if you have the `secure_getenv' function. */
1105#define _GLIBCXX_HAVE_SECURE_GETENV 1
1106
1107/* Define to 1 if you have the `setenv' function. */
1108#define _GLIBCXX_HAVE_SETENV 1
1109
1110/* Define to 1 if you have the `sincos' function. */
1111#define _GLIBCXX_HAVE_SINCOS 1
1112
1113/* Define to 1 if you have the `sincosf' function. */
1114#define _GLIBCXX_HAVE_SINCOSF 1
1115
1116/* Define to 1 if you have the `sincosl' function. */
1117#define _GLIBCXX_HAVE_SINCOSL 1
1118
1119/* Define to 1 if you have the `sinf' function. */
1120#define _GLIBCXX_HAVE_SINF 1
1121
1122/* Define to 1 if you have the `sinhf' function. */
1123#define _GLIBCXX_HAVE_SINHF 1
1124
1125/* Define to 1 if you have the `sinhl' function. */
1126#define _GLIBCXX_HAVE_SINHL 1
1127
1128/* Define to 1 if you have the `sinl' function. */
1129#define _GLIBCXX_HAVE_SINL 1
1130
1131/* Defined if sleep exists. */
1132/* #undef _GLIBCXX_HAVE_SLEEP */
1133
1134/* Define to 1 if you have the `sockatmark' function. */
1135#define _GLIBCXX_HAVE_SOCKATMARK 1
1136
1137/* Define to 1 if you have the `sqrtf' function. */
1138#define _GLIBCXX_HAVE_SQRTF 1
1139
1140/* Define to 1 if you have the `sqrtl' function. */
1141#define _GLIBCXX_HAVE_SQRTL 1
1142
1143/* Define to 1 if you have the <stdalign.h> header file. */
1144#define _GLIBCXX_HAVE_STDALIGN_H 1
1145
1146/* Define to 1 if you have the <stdbool.h> header file. */
1147#define _GLIBCXX_HAVE_STDBOOL_H 1
1148
1149/* Define to 1 if you have the <stdint.h> header file. */
1150#define _GLIBCXX_HAVE_STDINT_H 1
1151
1152/* Define to 1 if you have the <stdlib.h> header file. */
1153#define _GLIBCXX_HAVE_STDLIB_H 1
1154
1155/* Define if strerror_l is available in <string.h>. */
1156#define _GLIBCXX_HAVE_STRERROR_L 1
1157
1158/* Define if strerror_r is available in <string.h>. */
1159#define _GLIBCXX_HAVE_STRERROR_R 1
1160
1161/* Define to 1 if you have the <strings.h> header file. */
1162#define _GLIBCXX_HAVE_STRINGS_H 1
1163
1164/* Define to 1 if you have the <string.h> header file. */
1165#define _GLIBCXX_HAVE_STRING_H 1
1166
1167/* Define to 1 if you have the `strtof' function. */
1168#define _GLIBCXX_HAVE_STRTOF 1
1169
1170/* Define to 1 if you have the `strtold' function. */
1171#define _GLIBCXX_HAVE_STRTOLD 1
1172
1173/* Define to 1 if `d_type' is a member of `struct dirent'. */
1174#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1
1175
1176/* Define if strxfrm_l is available in <string.h>. */
1177#define _GLIBCXX_HAVE_STRXFRM_L 1
1178
1179/* Define if symlink is available in <unistd.h>. */
1180#define _GLIBCXX_HAVE_SYMLINK 1
1181
1182/* Define to 1 if the target runtime linker supports binding the same symbol
1183 to different versions. */
1184#define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1
1185
1186/* Define to 1 if you have the <sys/filio.h> header file. */
1187/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */
1188
1189/* Define to 1 if you have the <sys/ioctl.h> header file. */
1190#define _GLIBCXX_HAVE_SYS_IOCTL_H 1
1191
1192/* Define to 1 if you have the <sys/ipc.h> header file. */
1193#define _GLIBCXX_HAVE_SYS_IPC_H 1
1194
1195/* Define to 1 if you have the <sys/isa_defs.h> header file. */
1196/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */
1197
1198/* Define to 1 if you have the <sys/machine.h> header file. */
1199/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */
1200
1201/* Define to 1 if you have the <sys/param.h> header file. */
1202#define _GLIBCXX_HAVE_SYS_PARAM_H 1
1203
1204/* Define to 1 if you have the <sys/resource.h> header file. */
1205#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1
1206
1207/* Define to 1 if you have a suitable <sys/sdt.h> header file */
1208#define _GLIBCXX_HAVE_SYS_SDT_H 1
1209
1210/* Define to 1 if you have the <sys/sem.h> header file. */
1211#define _GLIBCXX_HAVE_SYS_SEM_H 1
1212
1213/* Define to 1 if you have the <sys/socket.h> header file. */
1214#define _GLIBCXX_HAVE_SYS_SOCKET_H 1
1215
1216/* Define to 1 if you have the <sys/statvfs.h> header file. */
1217#define _GLIBCXX_HAVE_SYS_STATVFS_H 1
1218
1219/* Define to 1 if you have the <sys/stat.h> header file. */
1220#define _GLIBCXX_HAVE_SYS_STAT_H 1
1221
1222/* Define to 1 if you have the <sys/sysinfo.h> header file. */
1223#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1
1224
1225/* Define to 1 if you have the <sys/time.h> header file. */
1226#define _GLIBCXX_HAVE_SYS_TIME_H 1
1227
1228/* Define to 1 if you have the <sys/types.h> header file. */
1229#define _GLIBCXX_HAVE_SYS_TYPES_H 1
1230
1231/* Define to 1 if you have the <sys/uio.h> header file. */
1232#define _GLIBCXX_HAVE_SYS_UIO_H 1
1233
1234/* Define if S_IFREG is available in <sys/stat.h>. */
1235/* #undef _GLIBCXX_HAVE_S_IFREG */
1236
1237/* Define if S_ISREG is available in <sys/stat.h>. */
1238#define _GLIBCXX_HAVE_S_ISREG 1
1239
1240/* Define to 1 if you have the `tanf' function. */
1241#define _GLIBCXX_HAVE_TANF 1
1242
1243/* Define to 1 if you have the `tanhf' function. */
1244#define _GLIBCXX_HAVE_TANHF 1
1245
1246/* Define to 1 if you have the `tanhl' function. */
1247#define _GLIBCXX_HAVE_TANHL 1
1248
1249/* Define to 1 if you have the `tanl' function. */
1250#define _GLIBCXX_HAVE_TANL 1
1251
1252/* Define to 1 if you have the <tgmath.h> header file. */
1253#define _GLIBCXX_HAVE_TGMATH_H 1
1254
1255/* Define to 1 if you have the `timespec_get' function. */
1256#define _GLIBCXX_HAVE_TIMESPEC_GET 1
1257
1258/* Define to 1 if the target supports thread-local storage. */
1259#define _GLIBCXX_HAVE_TLS 1
1260
1261/* Define if truncate is available in <unistd.h>. */
1262#define _GLIBCXX_HAVE_TRUNCATE 1
1263
1264/* Define to 1 if you have the <uchar.h> header file. */
1265#define _GLIBCXX_HAVE_UCHAR_H 1
1266
1267/* Define to 1 if you have the <unistd.h> header file. */
1268#define _GLIBCXX_HAVE_UNISTD_H 1
1269
1270/* Define if unlinkat is available in <fcntl.h>. */
1271#define _GLIBCXX_HAVE_UNLINKAT 1
1272
1273/* Define to 1 if you have the `uselocale' function. */
1274#define _GLIBCXX_HAVE_USELOCALE 1
1275
1276/* Defined if usleep exists. */
1277/* #undef _GLIBCXX_HAVE_USLEEP */
1278
1279/* Define to 1 if you have the <utime.h> header file. */
1280#define _GLIBCXX_HAVE_UTIME_H 1
1281
1282/* Defined if vfwscanf exists. */
1283#define _GLIBCXX_HAVE_VFWSCANF 1
1284
1285/* Defined if vswscanf exists. */
1286#define _GLIBCXX_HAVE_VSWSCANF 1
1287
1288/* Defined if vwscanf exists. */
1289#define _GLIBCXX_HAVE_VWSCANF 1
1290
1291/* Define to 1 if you have the <wchar.h> header file. */
1292#define _GLIBCXX_HAVE_WCHAR_H 1
1293
1294/* Defined if wcstof exists. */
1295#define _GLIBCXX_HAVE_WCSTOF 1
1296
1297/* Define to 1 if you have the <wctype.h> header file. */
1298#define _GLIBCXX_HAVE_WCTYPE_H 1
1299
1300/* Defined if Sleep exists. */
1301/* #undef _GLIBCXX_HAVE_WIN32_SLEEP */
1302
1303/* Define if writev is available in <sys/uio.h>. */
1304#define _GLIBCXX_HAVE_WRITEV 1
1305
1306/* Define to 1 if you have the <xlocale.h> header file. */
1307/* #undef _GLIBCXX_HAVE_XLOCALE_H */
1308
1309/* Define to 1 if you have the `_acosf' function. */
1310/* #undef _GLIBCXX_HAVE__ACOSF */
1311
1312/* Define to 1 if you have the `_acosl' function. */
1313/* #undef _GLIBCXX_HAVE__ACOSL */
1314
1315/* Define to 1 if you have the `_aligned_malloc' function. */
1316/* #undef _GLIBCXX_HAVE__ALIGNED_MALLOC */
1317
1318/* Define to 1 if you have the `_asinf' function. */
1319/* #undef _GLIBCXX_HAVE__ASINF */
1320
1321/* Define to 1 if you have the `_asinl' function. */
1322/* #undef _GLIBCXX_HAVE__ASINL */
1323
1324/* Define to 1 if you have the `_atan2f' function. */
1325/* #undef _GLIBCXX_HAVE__ATAN2F */
1326
1327/* Define to 1 if you have the `_atan2l' function. */
1328/* #undef _GLIBCXX_HAVE__ATAN2L */
1329
1330/* Define to 1 if you have the `_atanf' function. */
1331/* #undef _GLIBCXX_HAVE__ATANF */
1332
1333/* Define to 1 if you have the `_atanl' function. */
1334/* #undef _GLIBCXX_HAVE__ATANL */
1335
1336/* Define to 1 if you have the `_ceilf' function. */
1337/* #undef _GLIBCXX_HAVE__CEILF */
1338
1339/* Define to 1 if you have the `_ceill' function. */
1340/* #undef _GLIBCXX_HAVE__CEILL */
1341
1342/* Define to 1 if you have the `_cosf' function. */
1343/* #undef _GLIBCXX_HAVE__COSF */
1344
1345/* Define to 1 if you have the `_coshf' function. */
1346/* #undef _GLIBCXX_HAVE__COSHF */
1347
1348/* Define to 1 if you have the `_coshl' function. */
1349/* #undef _GLIBCXX_HAVE__COSHL */
1350
1351/* Define to 1 if you have the `_cosl' function. */
1352/* #undef _GLIBCXX_HAVE__COSL */
1353
1354/* Define to 1 if you have the `_expf' function. */
1355/* #undef _GLIBCXX_HAVE__EXPF */
1356
1357/* Define to 1 if you have the `_expl' function. */
1358/* #undef _GLIBCXX_HAVE__EXPL */
1359
1360/* Define to 1 if you have the `_fabsf' function. */
1361/* #undef _GLIBCXX_HAVE__FABSF */
1362
1363/* Define to 1 if you have the `_fabsl' function. */
1364/* #undef _GLIBCXX_HAVE__FABSL */
1365
1366/* Define to 1 if you have the `_finite' function. */
1367/* #undef _GLIBCXX_HAVE__FINITE */
1368
1369/* Define to 1 if you have the `_finitef' function. */
1370/* #undef _GLIBCXX_HAVE__FINITEF */
1371
1372/* Define to 1 if you have the `_finitel' function. */
1373/* #undef _GLIBCXX_HAVE__FINITEL */
1374
1375/* Define to 1 if you have the `_floorf' function. */
1376/* #undef _GLIBCXX_HAVE__FLOORF */
1377
1378/* Define to 1 if you have the `_floorl' function. */
1379/* #undef _GLIBCXX_HAVE__FLOORL */
1380
1381/* Define to 1 if you have the `_fmodf' function. */
1382/* #undef _GLIBCXX_HAVE__FMODF */
1383
1384/* Define to 1 if you have the `_fmodl' function. */
1385/* #undef _GLIBCXX_HAVE__FMODL */
1386
1387/* Define to 1 if you have the `_fpclass' function. */
1388/* #undef _GLIBCXX_HAVE__FPCLASS */
1389
1390/* Define to 1 if you have the `_frexpf' function. */
1391/* #undef _GLIBCXX_HAVE__FREXPF */
1392
1393/* Define to 1 if you have the `_frexpl' function. */
1394/* #undef _GLIBCXX_HAVE__FREXPL */
1395
1396/* Define to 1 if you have the `_hypot' function. */
1397/* #undef _GLIBCXX_HAVE__HYPOT */
1398
1399/* Define to 1 if you have the `_hypotf' function. */
1400/* #undef _GLIBCXX_HAVE__HYPOTF */
1401
1402/* Define to 1 if you have the `_hypotl' function. */
1403/* #undef _GLIBCXX_HAVE__HYPOTL */
1404
1405/* Define to 1 if you have the `_isinf' function. */
1406/* #undef _GLIBCXX_HAVE__ISINF */
1407
1408/* Define to 1 if you have the `_isinff' function. */
1409/* #undef _GLIBCXX_HAVE__ISINFF */
1410
1411/* Define to 1 if you have the `_isinfl' function. */
1412/* #undef _GLIBCXX_HAVE__ISINFL */
1413
1414/* Define to 1 if you have the `_isnan' function. */
1415/* #undef _GLIBCXX_HAVE__ISNAN */
1416
1417/* Define to 1 if you have the `_isnanf' function. */
1418/* #undef _GLIBCXX_HAVE__ISNANF */
1419
1420/* Define to 1 if you have the `_isnanl' function. */
1421/* #undef _GLIBCXX_HAVE__ISNANL */
1422
1423/* Define to 1 if you have the `_ldexpf' function. */
1424/* #undef _GLIBCXX_HAVE__LDEXPF */
1425
1426/* Define to 1 if you have the `_ldexpl' function. */
1427/* #undef _GLIBCXX_HAVE__LDEXPL */
1428
1429/* Define to 1 if you have the `_log10f' function. */
1430/* #undef _GLIBCXX_HAVE__LOG10F */
1431
1432/* Define to 1 if you have the `_log10l' function. */
1433/* #undef _GLIBCXX_HAVE__LOG10L */
1434
1435/* Define to 1 if you have the `_logf' function. */
1436/* #undef _GLIBCXX_HAVE__LOGF */
1437
1438/* Define to 1 if you have the `_logl' function. */
1439/* #undef _GLIBCXX_HAVE__LOGL */
1440
1441/* Define to 1 if you have the `_modf' function. */
1442/* #undef _GLIBCXX_HAVE__MODF */
1443
1444/* Define to 1 if you have the `_modff' function. */
1445/* #undef _GLIBCXX_HAVE__MODFF */
1446
1447/* Define to 1 if you have the `_modfl' function. */
1448/* #undef _GLIBCXX_HAVE__MODFL */
1449
1450/* Define to 1 if you have the `_powf' function. */
1451/* #undef _GLIBCXX_HAVE__POWF */
1452
1453/* Define to 1 if you have the `_powl' function. */
1454/* #undef _GLIBCXX_HAVE__POWL */
1455
1456/* Define to 1 if you have the `_qfpclass' function. */
1457/* #undef _GLIBCXX_HAVE__QFPCLASS */
1458
1459/* Define to 1 if you have the `_sincos' function. */
1460/* #undef _GLIBCXX_HAVE__SINCOS */
1461
1462/* Define to 1 if you have the `_sincosf' function. */
1463/* #undef _GLIBCXX_HAVE__SINCOSF */
1464
1465/* Define to 1 if you have the `_sincosl' function. */
1466/* #undef _GLIBCXX_HAVE__SINCOSL */
1467
1468/* Define to 1 if you have the `_sinf' function. */
1469/* #undef _GLIBCXX_HAVE__SINF */
1470
1471/* Define to 1 if you have the `_sinhf' function. */
1472/* #undef _GLIBCXX_HAVE__SINHF */
1473
1474/* Define to 1 if you have the `_sinhl' function. */
1475/* #undef _GLIBCXX_HAVE__SINHL */
1476
1477/* Define to 1 if you have the `_sinl' function. */
1478/* #undef _GLIBCXX_HAVE__SINL */
1479
1480/* Define to 1 if you have the `_sqrtf' function. */
1481/* #undef _GLIBCXX_HAVE__SQRTF */
1482
1483/* Define to 1 if you have the `_sqrtl' function. */
1484/* #undef _GLIBCXX_HAVE__SQRTL */
1485
1486/* Define to 1 if you have the `_tanf' function. */
1487/* #undef _GLIBCXX_HAVE__TANF */
1488
1489/* Define to 1 if you have the `_tanhf' function. */
1490/* #undef _GLIBCXX_HAVE__TANHF */
1491
1492/* Define to 1 if you have the `_tanhl' function. */
1493/* #undef _GLIBCXX_HAVE__TANHL */
1494
1495/* Define to 1 if you have the `_tanl' function. */
1496/* #undef _GLIBCXX_HAVE__TANL */
1497
1498/* Define to 1 if you have the `_wfopen' function. */
1499/* #undef _GLIBCXX_HAVE__WFOPEN */
1500
1501/* Define to 1 if you have the `__cxa_thread_atexit' function. */
1502/* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT */
1503
1504/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */
1505#define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1
1506
1507/* Define as const if the declaration of iconv() needs const. */
1508#define _GLIBCXX_ICONV_CONST
1509
1510/* Define to the sub-directory in which libtool stores uninstalled libraries.
1511 */
1512#define _GLIBCXX_LT_OBJDIR ".libs/"
1513
1514/* Name of package */
1515/* #undef _GLIBCXX_PACKAGE */
1516
1517/* Define to the address where bug reports for this package should be sent. */
1518#define _GLIBCXX_PACKAGE_BUGREPORT ""
1519
1520/* Define to the full name of this package. */
1521#define _GLIBCXX_PACKAGE_NAME "package-unused"
1522
1523/* Define to the full name and version of this package. */
1524#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused"
1525
1526/* Define to the one symbol short name of this package. */
1527#define _GLIBCXX_PACKAGE_TARNAME "libstdc++"
1528
1529/* Define to the home page for this package. */
1530#define _GLIBCXX_PACKAGE_URL ""
1531
1532/* Define to the version of this package. */
1533#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused"
1534
1535/* The size of `char', as computed by sizeof. */
1536/* #undef SIZEOF_CHAR */
1537
1538/* The size of `int', as computed by sizeof. */
1539/* #undef SIZEOF_INT */
1540
1541/* The size of `long', as computed by sizeof. */
1542/* #undef SIZEOF_LONG */
1543
1544/* The size of `short', as computed by sizeof. */
1545/* #undef SIZEOF_SHORT */
1546
1547/* The size of `void *', as computed by sizeof. */
1548/* #undef SIZEOF_VOID_P */
1549
1550/* Define to 1 if you have the ANSI C header files. */
1551#define _GLIBCXX_STDC_HEADERS 1
1552
1553/* Version number of package */
1554/* #undef _GLIBCXX_VERSION */
1555
1556/* Enable large inode numbers on Mac OS X 10.5. */
1557#ifndef _GLIBCXX_DARWIN_USE_64_BIT_INODE
1558# define _GLIBCXX_DARWIN_USE_64_BIT_INODE 1
1559#endif
1560
1561/* Number of bits in a file offset, on hosts where this is settable. */
1562/* #undef _GLIBCXX_FILE_OFFSET_BITS */
1563
1564/* Define if C99 functions in <complex.h> should be used in <complex> for
1565 C++11. Using compiler builtins for these functions requires corresponding
1566 C99 library functions to be present. */
1567#define _GLIBCXX11_USE_C99_COMPLEX 1
1568
1569/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
1570 in namespace std for C++11. */
1571#define _GLIBCXX11_USE_C99_MATH 1
1572
1573/* Define if C99 functions or macros in <stdio.h> should be imported in
1574 <cstdio> in namespace std for C++11. */
1575#define _GLIBCXX11_USE_C99_STDIO 1
1576
1577/* Define if C99 functions or macros in <stdlib.h> should be imported in
1578 <cstdlib> in namespace std for C++11. */
1579#define _GLIBCXX11_USE_C99_STDLIB 1
1580
1581/* Define if C99 functions or macros in <wchar.h> should be imported in
1582 <cwchar> in namespace std for C++11. */
1583#define _GLIBCXX11_USE_C99_WCHAR 1
1584
1585/* Define if C99 functions in <complex.h> should be used in <complex> for
1586 C++98. Using compiler builtins for these functions requires corresponding
1587 C99 library functions to be present. */
1588#define _GLIBCXX98_USE_C99_COMPLEX 1
1589
1590/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
1591 in namespace std for C++98. */
1592#define _GLIBCXX98_USE_C99_MATH 1
1593
1594/* Define if C99 functions or macros in <stdio.h> should be imported in
1595 <cstdio> in namespace std for C++98. */
1596#define _GLIBCXX98_USE_C99_STDIO 1
1597
1598/* Define if C99 functions or macros in <stdlib.h> should be imported in
1599 <cstdlib> in namespace std for C++98. */
1600#define _GLIBCXX98_USE_C99_STDLIB 1
1601
1602/* Define if C99 functions or macros in <wchar.h> should be imported in
1603 <cwchar> in namespace std for C++98. */
1604#define _GLIBCXX98_USE_C99_WCHAR 1
1605
1606/* Define if the compiler supports C++11 atomics. */
1607#define _GLIBCXX_ATOMIC_BUILTINS 1
1608
1609/* Define to use concept checking code from the boost libraries. */
1610/* #undef _GLIBCXX_CONCEPT_CHECKS */
1611
1612/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable,
1613 undefined for platform defaults */
1614#define _GLIBCXX_FULLY_DYNAMIC_STRING 0
1615
1616/* Define if gthreads library is available. */
1617#define _GLIBCXX_HAS_GTHREADS 1
1618
1619/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
1620#define _GLIBCXX_HOSTED 1
1621
1622/* Define if compatibility should be provided for alternative 128-bit long
1623 double formats. */
1624
1625/* Define if compatibility should be provided for -mlong-double-64. */
1626
1627/* Define to the letter to which size_t is mangled. */
1628#define _GLIBCXX_MANGLE_SIZE_T m
1629
1630/* Define if C99 llrint and llround functions are missing from <math.h>. */
1631/* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */
1632
1633/* Defined if no way to sleep is available. */
1634/* #undef _GLIBCXX_NO_SLEEP */
1635
1636/* Define if ptrdiff_t is int. */
1637/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */
1638
1639/* Define if using setrlimit to set resource limits during "make check" */
1640#define _GLIBCXX_RES_LIMITS 1
1641
1642/* Define if size_t is unsigned int. */
1643/* #undef _GLIBCXX_SIZE_T_IS_UINT */
1644
1645/* Define to the value of the EOF integer constant. */
1646#define _GLIBCXX_STDIO_EOF -1
1647
1648/* Define to the value of the SEEK_CUR integer constant. */
1649#define _GLIBCXX_STDIO_SEEK_CUR 1
1650
1651/* Define to the value of the SEEK_END integer constant. */
1652#define _GLIBCXX_STDIO_SEEK_END 2
1653
1654/* Define to use symbol versioning in the shared library. */
1655#define _GLIBCXX_SYMVER 1
1656
1657/* Define to use darwin versioning in the shared library. */
1658/* #undef _GLIBCXX_SYMVER_DARWIN */
1659
1660/* Define to use GNU versioning in the shared library. */
1661#define _GLIBCXX_SYMVER_GNU 1
1662
1663/* Define to use GNU namespace versioning in the shared library. */
1664/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */
1665
1666/* Define to use Sun versioning in the shared library. */
1667/* #undef _GLIBCXX_SYMVER_SUN */
1668
1669/* Define if C11 functions in <uchar.h> should be imported into namespace std
1670 in <cuchar>. */
1671#define _GLIBCXX_USE_C11_UCHAR_CXX11 1
1672
1673/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
1674 <stdio.h>, and <stdlib.h> can be used or exposed. */
1675#define _GLIBCXX_USE_C99 1
1676
1677/* Define if C99 functions in <complex.h> should be used in <tr1/complex>.
1678 Using compiler builtins for these functions requires corresponding C99
1679 library functions to be present. */
1680#define _GLIBCXX_USE_C99_COMPLEX_TR1 1
1681
1682/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in
1683 namespace std::tr1. */
1684#define _GLIBCXX_USE_C99_CTYPE_TR1 1
1685
1686/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
1687 namespace std::tr1. */
1688#define _GLIBCXX_USE_C99_FENV_TR1 1
1689
1690/* Define if C99 functions in <inttypes.h> should be imported in
1691 <tr1/cinttypes> in namespace std::tr1. */
1692#define _GLIBCXX_USE_C99_INTTYPES_TR1 1
1693
1694/* Define if wchar_t C99 functions in <inttypes.h> should be imported in
1695 <tr1/cinttypes> in namespace std::tr1. */
1696#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1
1697
1698/* Define if C99 functions or macros in <math.h> should be imported in
1699 <tr1/cmath> in namespace std::tr1. */
1700#define _GLIBCXX_USE_C99_MATH_TR1 1
1701
1702/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in
1703 namespace std::tr1. */
1704#define _GLIBCXX_USE_C99_STDINT_TR1 1
1705
1706/* Defined if clock_gettime syscall has monotonic and realtime clock support.
1707 */
1708/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */
1709
1710/* Defined if clock_gettime has monotonic clock support. */
1711#define _GLIBCXX_USE_CLOCK_MONOTONIC 1
1712
1713/* Defined if clock_gettime has realtime clock support. */
1714#define _GLIBCXX_USE_CLOCK_REALTIME 1
1715
1716/* Define if ISO/IEC TR 24733 decimal floating point types are supported on
1717 this host. */
1718#define _GLIBCXX_USE_DECIMAL_FLOAT 1
1719
1720/* Define if /dev/random and /dev/urandom are available for
1721 std::random_device. */
1722#define _GLIBCXX_USE_DEV_RANDOM 1
1723
1724/* Define if fchmod is available in <sys/stat.h>. */
1725#define _GLIBCXX_USE_FCHMOD 1
1726
1727/* Define if fchmodat is available in <sys/stat.h>. */
1728#define _GLIBCXX_USE_FCHMODAT 1
1729
1730/* Defined if gettimeofday is available. */
1731#define _GLIBCXX_USE_GETTIMEOFDAY 1
1732
1733/* Define if get_nprocs is available in <sys/sysinfo.h>. */
1734#define _GLIBCXX_USE_GET_NPROCS 1
1735
1736/* Define if __int128 is supported on this host. */
1737#define _GLIBCXX_USE_INT128 1
1738
1739/* Define if LFS support is available. */
1740#define _GLIBCXX_USE_LFS 1
1741
1742/* Define if code specialized for long long should be used. */
1743#define _GLIBCXX_USE_LONG_LONG 1
1744
1745/* Define if lstat is available in <sys/stat.h>. */
1746#define _GLIBCXX_USE_LSTAT 1
1747
1748/* Defined if nanosleep is available. */
1749#define _GLIBCXX_USE_NANOSLEEP 1
1750
1751/* Define if NLS translations are to be used. */
1752#define _GLIBCXX_USE_NLS 1
1753
1754/* Define if pthreads_num_processors_np is available in <pthread.h>. */
1755/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */
1756
1757/* Define if pthread_cond_clockwait is available in <pthread.h>. */
1758#define _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1
1759
1760/* Define if pthread_mutex_clocklock is available in <pthread.h>. */
1761#define _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK 1
1762
1763/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are
1764 available in <pthread.h>. */
1765#define _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1
1766
1767/* Define if POSIX read/write locks are available in <gthr.h>. */
1768#define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1
1769
1770/* Define if /dev/random and /dev/urandom are available for the random_device
1771 of TR1 (Chapter 5.1). */
1772#define _GLIBCXX_USE_RANDOM_TR1 1
1773
1774/* Define if usable realpath is available in <stdlib.h>. */
1775#define _GLIBCXX_USE_REALPATH 1
1776
1777/* Defined if sched_yield is available. */
1778#define _GLIBCXX_USE_SCHED_YIELD 1
1779
1780/* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
1781#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1
1782
1783/* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
1784/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */
1785
1786/* Define if sendfile is available in <sys/sendfile.h>. */
1787#define _GLIBCXX_USE_SENDFILE 1
1788
1789/* Define to restrict std::__basic_file<> to stdio APIs. */
1790/* #undef _GLIBCXX_USE_STDIO_PURE */
1791
1792/* Define if struct stat has timespec members. */
1793#define _GLIBCXX_USE_ST_MTIM 1
1794
1795/* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
1796/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */
1797
1798/* Define if obsolescent tmpnam is available in <stdio.h>. */
1799#define _GLIBCXX_USE_TMPNAM 1
1800
1801/* Define if utime is available in <utime.h>. */
1802#define _GLIBCXX_USE_UTIME 1
1803
1804/* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
1805 AT_FDCWD in <fcntl.h>. */
1806#define _GLIBCXX_USE_UTIMENSAT 1
1807
1808/* Define if code specialized for wchar_t should be used. */
1809#define _GLIBCXX_USE_WCHAR_T 1
1810
1811/* Define to 1 if a verbose library is built, or 0 otherwise. */
1812#define _GLIBCXX_VERBOSE 1
1813
1814/* Defined if as can handle rdrand. */
1815#define _GLIBCXX_X86_RDRAND 1
1816
1817/* Defined if as can handle rdseed. */
1818#define _GLIBCXX_X86_RDSEED 1
1819
1820/* Define to 1 if mutex_timedlock is available. */
1821#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1
1822
1823/* Define for large files, on AIX-style hosts. */
1824/* #undef _GLIBCXX_LARGE_FILES */
1825
1826/* Define if all C++11 floating point overloads are available in <math.h>. */
1827#if __cplusplus >= 201103L
1828/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */
1829#endif
1830
1831/* Define if all C++11 integral type overloads are available in <math.h>. */
1832#if __cplusplus >= 201103L
1833/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */
1834#endif
1835
1836#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF)
1837# define _GLIBCXX_HAVE_ACOSF 1
1838# define acosf _acosf
1839#endif
1840
1841#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL)
1842# define _GLIBCXX_HAVE_ACOSL 1
1843# define acosl _acosl
1844#endif
1845
1846#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF)
1847# define _GLIBCXX_HAVE_ASINF 1
1848# define asinf _asinf
1849#endif
1850
1851#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL)
1852# define _GLIBCXX_HAVE_ASINL 1
1853# define asinl _asinl
1854#endif
1855
1856#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F)
1857# define _GLIBCXX_HAVE_ATAN2F 1
1858# define atan2f _atan2f
1859#endif
1860
1861#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L)
1862# define _GLIBCXX_HAVE_ATAN2L 1
1863# define atan2l _atan2l
1864#endif
1865
1866#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF)
1867# define _GLIBCXX_HAVE_ATANF 1
1868# define atanf _atanf
1869#endif
1870
1871#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL)
1872# define _GLIBCXX_HAVE_ATANL 1
1873# define atanl _atanl
1874#endif
1875
1876#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF)
1877# define _GLIBCXX_HAVE_CEILF 1
1878# define ceilf _ceilf
1879#endif
1880
1881#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL)
1882# define _GLIBCXX_HAVE_CEILL 1
1883# define ceill _ceill
1884#endif
1885
1886#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF)
1887# define _GLIBCXX_HAVE_COSF 1
1888# define cosf _cosf
1889#endif
1890
1891#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF)
1892# define _GLIBCXX_HAVE_COSHF 1
1893# define coshf _coshf
1894#endif
1895
1896#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL)
1897# define _GLIBCXX_HAVE_COSHL 1
1898# define coshl _coshl
1899#endif
1900
1901#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL)
1902# define _GLIBCXX_HAVE_COSL 1
1903# define cosl _cosl
1904#endif
1905
1906#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF)
1907# define _GLIBCXX_HAVE_EXPF 1
1908# define expf _expf
1909#endif
1910
1911#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL)
1912# define _GLIBCXX_HAVE_EXPL 1
1913# define expl _expl
1914#endif
1915
1916#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF)
1917# define _GLIBCXX_HAVE_FABSF 1
1918# define fabsf _fabsf
1919#endif
1920
1921#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL)
1922# define _GLIBCXX_HAVE_FABSL 1
1923# define fabsl _fabsl
1924#endif
1925
1926#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE)
1927# define _GLIBCXX_HAVE_FINITE 1
1928# define finite _finite
1929#endif
1930
1931#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF)
1932# define _GLIBCXX_HAVE_FINITEF 1
1933# define finitef _finitef
1934#endif
1935
1936#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL)
1937# define _GLIBCXX_HAVE_FINITEL 1
1938# define finitel _finitel
1939#endif
1940
1941#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF)
1942# define _GLIBCXX_HAVE_FLOORF 1
1943# define floorf _floorf
1944#endif
1945
1946#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL)
1947# define _GLIBCXX_HAVE_FLOORL 1
1948# define floorl _floorl
1949#endif
1950
1951#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF)
1952# define _GLIBCXX_HAVE_FMODF 1
1953# define fmodf _fmodf
1954#endif
1955
1956#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL)
1957# define _GLIBCXX_HAVE_FMODL 1
1958# define fmodl _fmodl
1959#endif
1960
1961#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS)
1962# define _GLIBCXX_HAVE_FPCLASS 1
1963# define fpclass _fpclass
1964#endif
1965
1966#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF)
1967# define _GLIBCXX_HAVE_FREXPF 1
1968# define frexpf _frexpf
1969#endif
1970
1971#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL)
1972# define _GLIBCXX_HAVE_FREXPL 1
1973# define frexpl _frexpl
1974#endif
1975
1976#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT)
1977# define _GLIBCXX_HAVE_HYPOT 1
1978# define hypot _hypot
1979#endif
1980
1981#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF)
1982# define _GLIBCXX_HAVE_HYPOTF 1
1983# define hypotf _hypotf
1984#endif
1985
1986#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL)
1987# define _GLIBCXX_HAVE_HYPOTL 1
1988# define hypotl _hypotl
1989#endif
1990
1991#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF)
1992# define _GLIBCXX_HAVE_ISINF 1
1993# define isinf _isinf
1994#endif
1995
1996#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF)
1997# define _GLIBCXX_HAVE_ISINFF 1
1998# define isinff _isinff
1999#endif
2000
2001#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL)
2002# define _GLIBCXX_HAVE_ISINFL 1
2003# define isinfl _isinfl
2004#endif
2005
2006#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN)
2007# define _GLIBCXX_HAVE_ISNAN 1
2008# define isnan _isnan
2009#endif
2010
2011#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF)
2012# define _GLIBCXX_HAVE_ISNANF 1
2013# define isnanf _isnanf
2014#endif
2015
2016#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL)
2017# define _GLIBCXX_HAVE_ISNANL 1
2018# define isnanl _isnanl
2019#endif
2020
2021#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF)
2022# define _GLIBCXX_HAVE_LDEXPF 1
2023# define ldexpf _ldexpf
2024#endif
2025
2026#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL)
2027# define _GLIBCXX_HAVE_LDEXPL 1
2028# define ldexpl _ldexpl
2029#endif
2030
2031#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F)
2032# define _GLIBCXX_HAVE_LOG10F 1
2033# define log10f _log10f
2034#endif
2035
2036#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L)
2037# define _GLIBCXX_HAVE_LOG10L 1
2038# define log10l _log10l
2039#endif
2040
2041#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF)
2042# define _GLIBCXX_HAVE_LOGF 1
2043# define logf _logf
2044#endif
2045
2046#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL)
2047# define _GLIBCXX_HAVE_LOGL 1
2048# define logl _logl
2049#endif
2050
2051#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF)
2052# define _GLIBCXX_HAVE_MODF 1
2053# define modf _modf
2054#endif
2055
2056#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF)
2057# define _GLIBCXX_HAVE_MODFF 1
2058# define modff _modff
2059#endif
2060
2061#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL)
2062# define _GLIBCXX_HAVE_MODFL 1
2063# define modfl _modfl
2064#endif
2065
2066#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF)
2067# define _GLIBCXX_HAVE_POWF 1
2068# define powf _powf
2069#endif
2070
2071#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL)
2072# define _GLIBCXX_HAVE_POWL 1
2073# define powl _powl
2074#endif
2075
2076#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS)
2077# define _GLIBCXX_HAVE_QFPCLASS 1
2078# define qfpclass _qfpclass
2079#endif
2080
2081#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS)
2082# define _GLIBCXX_HAVE_SINCOS 1
2083# define sincos _sincos
2084#endif
2085
2086#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF)
2087# define _GLIBCXX_HAVE_SINCOSF 1
2088# define sincosf _sincosf
2089#endif
2090
2091#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL)
2092# define _GLIBCXX_HAVE_SINCOSL 1
2093# define sincosl _sincosl
2094#endif
2095
2096#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF)
2097# define _GLIBCXX_HAVE_SINF 1
2098# define sinf _sinf
2099#endif
2100
2101#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF)
2102# define _GLIBCXX_HAVE_SINHF 1
2103# define sinhf _sinhf
2104#endif
2105
2106#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL)
2107# define _GLIBCXX_HAVE_SINHL 1
2108# define sinhl _sinhl
2109#endif
2110
2111#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL)
2112# define _GLIBCXX_HAVE_SINL 1
2113# define sinl _sinl
2114#endif
2115
2116#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF)
2117# define _GLIBCXX_HAVE_SQRTF 1
2118# define sqrtf _sqrtf
2119#endif
2120
2121#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL)
2122# define _GLIBCXX_HAVE_SQRTL 1
2123# define sqrtl _sqrtl
2124#endif
2125
2126#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF)
2127# define _GLIBCXX_HAVE_STRTOF 1
2128# define strtof _strtof
2129#endif
2130
2131#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD)
2132# define _GLIBCXX_HAVE_STRTOLD 1
2133# define strtold _strtold
2134#endif
2135
2136#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF)
2137# define _GLIBCXX_HAVE_TANF 1
2138# define tanf _tanf
2139#endif
2140
2141#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF)
2142# define _GLIBCXX_HAVE_TANHF 1
2143# define tanhf _tanhf
2144#endif
2145
2146#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL)
2147# define _GLIBCXX_HAVE_TANHL 1
2148# define tanhl _tanhl
2149#endif
2150
2151#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL)
2152# define _GLIBCXX_HAVE_TANL 1
2153# define tanl _tanl
2154#endif
2155
2156#endif // _GLIBCXX_CXX_CONFIG_H
ISO C++ entities toplevel namespace is std.
GNU extensions for public use.