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__ 20220324
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 to 1 if you have the <dlfcn.h> header file. */
852#define _GLIBCXX_HAVE_DLFCN_H 1
853
854/* Define to 1 if you have the <endian.h> header file. */
855#define _GLIBCXX_HAVE_ENDIAN_H 1
856
857/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
858#define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1
859
860/* Define to 1 if you have the <execinfo.h> header file. */
861#define _GLIBCXX_HAVE_EXECINFO_H 1
862
863/* Define to 1 if you have the `expf' function. */
864#define _GLIBCXX_HAVE_EXPF 1
865
866/* Define to 1 if you have the `expl' function. */
867#define _GLIBCXX_HAVE_EXPL 1
868
869/* Define to 1 if you have the `fabsf' function. */
870#define _GLIBCXX_HAVE_FABSF 1
871
872/* Define to 1 if you have the `fabsl' function. */
873#define _GLIBCXX_HAVE_FABSL 1
874
875/* Define to 1 if you have the <fcntl.h> header file. */
876#define _GLIBCXX_HAVE_FCNTL_H 1
877
878/* Define to 1 if you have the <fenv.h> header file. */
879#define _GLIBCXX_HAVE_FENV_H 1
880
881/* Define to 1 if you have the `finite' function. */
882#define _GLIBCXX_HAVE_FINITE 1
883
884/* Define to 1 if you have the `finitef' function. */
885#define _GLIBCXX_HAVE_FINITEF 1
886
887/* Define to 1 if you have the `finitel' function. */
888#define _GLIBCXX_HAVE_FINITEL 1
889
890/* Define to 1 if you have the <float.h> header file. */
891#define _GLIBCXX_HAVE_FLOAT_H 1
892
893/* Define to 1 if you have the `floorf' function. */
894#define _GLIBCXX_HAVE_FLOORF 1
895
896/* Define to 1 if you have the `floorl' function. */
897#define _GLIBCXX_HAVE_FLOORL 1
898
899/* Define to 1 if you have the `fmodf' function. */
900#define _GLIBCXX_HAVE_FMODF 1
901
902/* Define to 1 if you have the `fmodl' function. */
903#define _GLIBCXX_HAVE_FMODL 1
904
905/* Define to 1 if you have the `fpclass' function. */
906/* #undef _GLIBCXX_HAVE_FPCLASS */
907
908/* Define to 1 if you have the <fp.h> header file. */
909/* #undef _GLIBCXX_HAVE_FP_H */
910
911/* Define to 1 if you have the `frexpf' function. */
912#define _GLIBCXX_HAVE_FREXPF 1
913
914/* Define to 1 if you have the `frexpl' function. */
915#define _GLIBCXX_HAVE_FREXPL 1
916
917/* Define if _Unwind_GetIPInfo is available. */
918#define _GLIBCXX_HAVE_GETIPINFO 1
919
920/* Define if gets is available in <stdio.h> before C++14. */
921#define _GLIBCXX_HAVE_GETS 1
922
923/* Define to 1 if you have the `hypot' function. */
924#define _GLIBCXX_HAVE_HYPOT 1
925
926/* Define to 1 if you have the `hypotf' function. */
927#define _GLIBCXX_HAVE_HYPOTF 1
928
929/* Define to 1 if you have the `hypotl' function. */
930#define _GLIBCXX_HAVE_HYPOTL 1
931
932/* Define if you have the iconv() function. */
933#define _GLIBCXX_HAVE_ICONV 1
934
935/* Define to 1 if you have the <ieeefp.h> header file. */
936/* #undef _GLIBCXX_HAVE_IEEEFP_H */
937
938/* Define if int64_t is available in <stdint.h>. */
939#define _GLIBCXX_HAVE_INT64_T 1
940
941/* Define if int64_t is a long. */
942#define _GLIBCXX_HAVE_INT64_T_LONG 1
943
944/* Define if int64_t is a long long. */
945/* #undef _GLIBCXX_HAVE_INT64_T_LONG_LONG */
946
947/* Define to 1 if you have the <inttypes.h> header file. */
948#define _GLIBCXX_HAVE_INTTYPES_H 1
949
950/* Define to 1 if you have the `isinf' function. */
951/* #undef _GLIBCXX_HAVE_ISINF */
952
953/* Define to 1 if you have the `isinff' function. */
954#define _GLIBCXX_HAVE_ISINFF 1
955
956/* Define to 1 if you have the `isinfl' function. */
957#define _GLIBCXX_HAVE_ISINFL 1
958
959/* Define to 1 if you have the `isnan' function. */
960/* #undef _GLIBCXX_HAVE_ISNAN */
961
962/* Define to 1 if you have the `isnanf' function. */
963#define _GLIBCXX_HAVE_ISNANF 1
964
965/* Define to 1 if you have the `isnanl' function. */
966#define _GLIBCXX_HAVE_ISNANL 1
967
968/* Defined if iswblank exists. */
969#define _GLIBCXX_HAVE_ISWBLANK 1
970
971/* Define if LC_MESSAGES is available in <locale.h>. */
972#define _GLIBCXX_HAVE_LC_MESSAGES 1
973
974/* Define to 1 if you have the `ldexpf' function. */
975#define _GLIBCXX_HAVE_LDEXPF 1
976
977/* Define to 1 if you have the `ldexpl' function. */
978#define _GLIBCXX_HAVE_LDEXPL 1
979
980/* Define to 1 if you have the <libintl.h> header file. */
981#define _GLIBCXX_HAVE_LIBINTL_H 1
982
983/* Only used in build directory testsuite_hooks.h. */
984#define _GLIBCXX_HAVE_LIMIT_AS 1
985
986/* Only used in build directory testsuite_hooks.h. */
987#define _GLIBCXX_HAVE_LIMIT_DATA 1
988
989/* Only used in build directory testsuite_hooks.h. */
990#define _GLIBCXX_HAVE_LIMIT_FSIZE 1
991
992/* Only used in build directory testsuite_hooks.h. */
993#define _GLIBCXX_HAVE_LIMIT_RSS 1
994
995/* Only used in build directory testsuite_hooks.h. */
996#define _GLIBCXX_HAVE_LIMIT_VMEM 0
997
998/* Define if link is available in <unistd.h>. */
999#define _GLIBCXX_HAVE_LINK 1
1000
1001/* Define if futex syscall is available. */
1002#define _GLIBCXX_HAVE_LINUX_FUTEX 1
1003
1004/* Define to 1 if you have the <linux/random.h> header file. */
1005#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1
1006
1007/* Define to 1 if you have the <linux/types.h> header file. */
1008#define _GLIBCXX_HAVE_LINUX_TYPES_H 1
1009
1010/* Define to 1 if you have the <locale.h> header file. */
1011#define _GLIBCXX_HAVE_LOCALE_H 1
1012
1013/* Define to 1 if you have the `log10f' function. */
1014#define _GLIBCXX_HAVE_LOG10F 1
1015
1016/* Define to 1 if you have the `log10l' function. */
1017#define _GLIBCXX_HAVE_LOG10L 1
1018
1019/* Define to 1 if you have the `logf' function. */
1020#define _GLIBCXX_HAVE_LOGF 1
1021
1022/* Define to 1 if you have the `logl' function. */
1023#define _GLIBCXX_HAVE_LOGL 1
1024
1025/* Define to 1 if you have the <machine/endian.h> header file. */
1026/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */
1027
1028/* Define to 1 if you have the <machine/param.h> header file. */
1029/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */
1030
1031/* Define if mbstate_t exists in wchar.h. */
1032#define _GLIBCXX_HAVE_MBSTATE_T 1
1033
1034/* Define to 1 if you have the `memalign' function. */
1035#define _GLIBCXX_HAVE_MEMALIGN 1
1036
1037/* Define to 1 if you have the <memory.h> header file. */
1038#define _GLIBCXX_HAVE_MEMORY_H 1
1039
1040/* Define to 1 if you have the `modf' function. */
1041#define _GLIBCXX_HAVE_MODF 1
1042
1043/* Define to 1 if you have the `modff' function. */
1044#define _GLIBCXX_HAVE_MODFF 1
1045
1046/* Define to 1 if you have the `modfl' function. */
1047#define _GLIBCXX_HAVE_MODFL 1
1048
1049/* Define to 1 if you have the <nan.h> header file. */
1050/* #undef _GLIBCXX_HAVE_NAN_H */
1051
1052/* Define to 1 if you have the <netdb.h> header file. */
1053#define _GLIBCXX_HAVE_NETDB_H 1
1054
1055/* Define to 1 if you have the <netinet/in.h> header file. */
1056#define _GLIBCXX_HAVE_NETINET_IN_H 1
1057
1058/* Define to 1 if you have the <netinet/tcp.h> header file. */
1059#define _GLIBCXX_HAVE_NETINET_TCP_H 1
1060
1061/* Define if <math.h> defines obsolete isinf function. */
1062/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */
1063
1064/* Define if <math.h> defines obsolete isnan function. */
1065/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */
1066
1067/* Define if poll is available in <poll.h>. */
1068#define _GLIBCXX_HAVE_POLL 1
1069
1070/* Define to 1 if you have the <poll.h> header file. */
1071#define _GLIBCXX_HAVE_POLL_H 1
1072
1073/* Define to 1 if you have the `posix_memalign' function. */
1074#define _GLIBCXX_HAVE_POSIX_MEMALIGN 1
1075
1076/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
1077 <semaphore.h>. */
1078#define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1
1079
1080/* Define to 1 if you have the `powf' function. */
1081#define _GLIBCXX_HAVE_POWF 1
1082
1083/* Define to 1 if you have the `powl' function. */
1084#define _GLIBCXX_HAVE_POWL 1
1085
1086/* Define to 1 if you have the `qfpclass' function. */
1087/* #undef _GLIBCXX_HAVE_QFPCLASS */
1088
1089/* Define to 1 if you have the `quick_exit' function. */
1090#define _GLIBCXX_HAVE_QUICK_EXIT 1
1091
1092/* Define if readlink is available in <unistd.h>. */
1093#define _GLIBCXX_HAVE_READLINK 1
1094
1095/* Define to 1 if you have the `setenv' function. */
1096#define _GLIBCXX_HAVE_SETENV 1
1097
1098/* Define to 1 if you have the `sincos' function. */
1099#define _GLIBCXX_HAVE_SINCOS 1
1100
1101/* Define to 1 if you have the `sincosf' function. */
1102#define _GLIBCXX_HAVE_SINCOSF 1
1103
1104/* Define to 1 if you have the `sincosl' function. */
1105#define _GLIBCXX_HAVE_SINCOSL 1
1106
1107/* Define to 1 if you have the `sinf' function. */
1108#define _GLIBCXX_HAVE_SINF 1
1109
1110/* Define to 1 if you have the `sinhf' function. */
1111#define _GLIBCXX_HAVE_SINHF 1
1112
1113/* Define to 1 if you have the `sinhl' function. */
1114#define _GLIBCXX_HAVE_SINHL 1
1115
1116/* Define to 1 if you have the `sinl' function. */
1117#define _GLIBCXX_HAVE_SINL 1
1118
1119/* Defined if sleep exists. */
1120/* #undef _GLIBCXX_HAVE_SLEEP */
1121
1122/* Define to 1 if you have the `sockatmark' function. */
1123#define _GLIBCXX_HAVE_SOCKATMARK 1
1124
1125/* Define to 1 if you have the `sqrtf' function. */
1126#define _GLIBCXX_HAVE_SQRTF 1
1127
1128/* Define to 1 if you have the `sqrtl' function. */
1129#define _GLIBCXX_HAVE_SQRTL 1
1130
1131/* Define to 1 if you have the <stdalign.h> header file. */
1132#define _GLIBCXX_HAVE_STDALIGN_H 1
1133
1134/* Define to 1 if you have the <stdbool.h> header file. */
1135#define _GLIBCXX_HAVE_STDBOOL_H 1
1136
1137/* Define to 1 if you have the <stdint.h> header file. */
1138#define _GLIBCXX_HAVE_STDINT_H 1
1139
1140/* Define to 1 if you have the <stdlib.h> header file. */
1141#define _GLIBCXX_HAVE_STDLIB_H 1
1142
1143/* Define if strerror_l is available in <string.h>. */
1144#define _GLIBCXX_HAVE_STRERROR_L 1
1145
1146/* Define if strerror_r is available in <string.h>. */
1147#define _GLIBCXX_HAVE_STRERROR_R 1
1148
1149/* Define to 1 if you have the <strings.h> header file. */
1150#define _GLIBCXX_HAVE_STRINGS_H 1
1151
1152/* Define to 1 if you have the <string.h> header file. */
1153#define _GLIBCXX_HAVE_STRING_H 1
1154
1155/* Define to 1 if you have the `strtof' function. */
1156#define _GLIBCXX_HAVE_STRTOF 1
1157
1158/* Define to 1 if you have the `strtold' function. */
1159#define _GLIBCXX_HAVE_STRTOLD 1
1160
1161/* Define to 1 if `d_type' is a member of `struct dirent'. */
1162#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1
1163
1164/* Define if strxfrm_l is available in <string.h>. */
1165#define _GLIBCXX_HAVE_STRXFRM_L 1
1166
1167/* Define if symlink is available in <unistd.h>. */
1168#define _GLIBCXX_HAVE_SYMLINK 1
1169
1170/* Define to 1 if the target runtime linker supports binding the same symbol
1171 to different versions. */
1172#define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1
1173
1174/* Define to 1 if you have the <sys/filio.h> header file. */
1175/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */
1176
1177/* Define to 1 if you have the <sys/ioctl.h> header file. */
1178#define _GLIBCXX_HAVE_SYS_IOCTL_H 1
1179
1180/* Define to 1 if you have the <sys/ipc.h> header file. */
1181#define _GLIBCXX_HAVE_SYS_IPC_H 1
1182
1183/* Define to 1 if you have the <sys/isa_defs.h> header file. */
1184/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */
1185
1186/* Define to 1 if you have the <sys/machine.h> header file. */
1187/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */
1188
1189/* Define to 1 if you have the <sys/param.h> header file. */
1190#define _GLIBCXX_HAVE_SYS_PARAM_H 1
1191
1192/* Define to 1 if you have the <sys/resource.h> header file. */
1193#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1
1194
1195/* Define to 1 if you have a suitable <sys/sdt.h> header file */
1196#define _GLIBCXX_HAVE_SYS_SDT_H 1
1197
1198/* Define to 1 if you have the <sys/sem.h> header file. */
1199#define _GLIBCXX_HAVE_SYS_SEM_H 1
1200
1201/* Define to 1 if you have the <sys/socket.h> header file. */
1202#define _GLIBCXX_HAVE_SYS_SOCKET_H 1
1203
1204/* Define to 1 if you have the <sys/statvfs.h> header file. */
1205#define _GLIBCXX_HAVE_SYS_STATVFS_H 1
1206
1207/* Define to 1 if you have the <sys/stat.h> header file. */
1208#define _GLIBCXX_HAVE_SYS_STAT_H 1
1209
1210/* Define to 1 if you have the <sys/sysinfo.h> header file. */
1211#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1
1212
1213/* Define to 1 if you have the <sys/time.h> header file. */
1214#define _GLIBCXX_HAVE_SYS_TIME_H 1
1215
1216/* Define to 1 if you have the <sys/types.h> header file. */
1217#define _GLIBCXX_HAVE_SYS_TYPES_H 1
1218
1219/* Define to 1 if you have the <sys/uio.h> header file. */
1220#define _GLIBCXX_HAVE_SYS_UIO_H 1
1221
1222/* Define if S_IFREG is available in <sys/stat.h>. */
1223/* #undef _GLIBCXX_HAVE_S_IFREG */
1224
1225/* Define if S_ISREG is available in <sys/stat.h>. */
1226#define _GLIBCXX_HAVE_S_ISREG 1
1227
1228/* Define to 1 if you have the `tanf' function. */
1229#define _GLIBCXX_HAVE_TANF 1
1230
1231/* Define to 1 if you have the `tanhf' function. */
1232#define _GLIBCXX_HAVE_TANHF 1
1233
1234/* Define to 1 if you have the `tanhl' function. */
1235#define _GLIBCXX_HAVE_TANHL 1
1236
1237/* Define to 1 if you have the `tanl' function. */
1238#define _GLIBCXX_HAVE_TANL 1
1239
1240/* Define to 1 if you have the <tgmath.h> header file. */
1241#define _GLIBCXX_HAVE_TGMATH_H 1
1242
1243/* Define to 1 if you have the `timespec_get' function. */
1244#define _GLIBCXX_HAVE_TIMESPEC_GET 1
1245
1246/* Define to 1 if the target supports thread-local storage. */
1247#define _GLIBCXX_HAVE_TLS 1
1248
1249/* Define if truncate is available in <unistd.h>. */
1250#define _GLIBCXX_HAVE_TRUNCATE 1
1251
1252/* Define to 1 if you have the <uchar.h> header file. */
1253#define _GLIBCXX_HAVE_UCHAR_H 1
1254
1255/* Define to 1 if you have the <unistd.h> header file. */
1256#define _GLIBCXX_HAVE_UNISTD_H 1
1257
1258/* Define to 1 if you have the `uselocale' function. */
1259#define _GLIBCXX_HAVE_USELOCALE 1
1260
1261/* Defined if usleep exists. */
1262/* #undef _GLIBCXX_HAVE_USLEEP */
1263
1264/* Define to 1 if you have the <utime.h> header file. */
1265#define _GLIBCXX_HAVE_UTIME_H 1
1266
1267/* Defined if vfwscanf exists. */
1268#define _GLIBCXX_HAVE_VFWSCANF 1
1269
1270/* Defined if vswscanf exists. */
1271#define _GLIBCXX_HAVE_VSWSCANF 1
1272
1273/* Defined if vwscanf exists. */
1274#define _GLIBCXX_HAVE_VWSCANF 1
1275
1276/* Define to 1 if you have the <wchar.h> header file. */
1277#define _GLIBCXX_HAVE_WCHAR_H 1
1278
1279/* Defined if wcstof exists. */
1280#define _GLIBCXX_HAVE_WCSTOF 1
1281
1282/* Define to 1 if you have the <wctype.h> header file. */
1283#define _GLIBCXX_HAVE_WCTYPE_H 1
1284
1285/* Defined if Sleep exists. */
1286/* #undef _GLIBCXX_HAVE_WIN32_SLEEP */
1287
1288/* Define if writev is available in <sys/uio.h>. */
1289#define _GLIBCXX_HAVE_WRITEV 1
1290
1291/* Define to 1 if you have the <xlocale.h> header file. */
1292/* #undef _GLIBCXX_HAVE_XLOCALE_H */
1293
1294/* Define to 1 if you have the `_acosf' function. */
1295/* #undef _GLIBCXX_HAVE__ACOSF */
1296
1297/* Define to 1 if you have the `_acosl' function. */
1298/* #undef _GLIBCXX_HAVE__ACOSL */
1299
1300/* Define to 1 if you have the `_aligned_malloc' function. */
1301/* #undef _GLIBCXX_HAVE__ALIGNED_MALLOC */
1302
1303/* Define to 1 if you have the `_asinf' function. */
1304/* #undef _GLIBCXX_HAVE__ASINF */
1305
1306/* Define to 1 if you have the `_asinl' function. */
1307/* #undef _GLIBCXX_HAVE__ASINL */
1308
1309/* Define to 1 if you have the `_atan2f' function. */
1310/* #undef _GLIBCXX_HAVE__ATAN2F */
1311
1312/* Define to 1 if you have the `_atan2l' function. */
1313/* #undef _GLIBCXX_HAVE__ATAN2L */
1314
1315/* Define to 1 if you have the `_atanf' function. */
1316/* #undef _GLIBCXX_HAVE__ATANF */
1317
1318/* Define to 1 if you have the `_atanl' function. */
1319/* #undef _GLIBCXX_HAVE__ATANL */
1320
1321/* Define to 1 if you have the `_ceilf' function. */
1322/* #undef _GLIBCXX_HAVE__CEILF */
1323
1324/* Define to 1 if you have the `_ceill' function. */
1325/* #undef _GLIBCXX_HAVE__CEILL */
1326
1327/* Define to 1 if you have the `_cosf' function. */
1328/* #undef _GLIBCXX_HAVE__COSF */
1329
1330/* Define to 1 if you have the `_coshf' function. */
1331/* #undef _GLIBCXX_HAVE__COSHF */
1332
1333/* Define to 1 if you have the `_coshl' function. */
1334/* #undef _GLIBCXX_HAVE__COSHL */
1335
1336/* Define to 1 if you have the `_cosl' function. */
1337/* #undef _GLIBCXX_HAVE__COSL */
1338
1339/* Define to 1 if you have the `_expf' function. */
1340/* #undef _GLIBCXX_HAVE__EXPF */
1341
1342/* Define to 1 if you have the `_expl' function. */
1343/* #undef _GLIBCXX_HAVE__EXPL */
1344
1345/* Define to 1 if you have the `_fabsf' function. */
1346/* #undef _GLIBCXX_HAVE__FABSF */
1347
1348/* Define to 1 if you have the `_fabsl' function. */
1349/* #undef _GLIBCXX_HAVE__FABSL */
1350
1351/* Define to 1 if you have the `_finite' function. */
1352/* #undef _GLIBCXX_HAVE__FINITE */
1353
1354/* Define to 1 if you have the `_finitef' function. */
1355/* #undef _GLIBCXX_HAVE__FINITEF */
1356
1357/* Define to 1 if you have the `_finitel' function. */
1358/* #undef _GLIBCXX_HAVE__FINITEL */
1359
1360/* Define to 1 if you have the `_floorf' function. */
1361/* #undef _GLIBCXX_HAVE__FLOORF */
1362
1363/* Define to 1 if you have the `_floorl' function. */
1364/* #undef _GLIBCXX_HAVE__FLOORL */
1365
1366/* Define to 1 if you have the `_fmodf' function. */
1367/* #undef _GLIBCXX_HAVE__FMODF */
1368
1369/* Define to 1 if you have the `_fmodl' function. */
1370/* #undef _GLIBCXX_HAVE__FMODL */
1371
1372/* Define to 1 if you have the `_fpclass' function. */
1373/* #undef _GLIBCXX_HAVE__FPCLASS */
1374
1375/* Define to 1 if you have the `_frexpf' function. */
1376/* #undef _GLIBCXX_HAVE__FREXPF */
1377
1378/* Define to 1 if you have the `_frexpl' function. */
1379/* #undef _GLIBCXX_HAVE__FREXPL */
1380
1381/* Define to 1 if you have the `_hypot' function. */
1382/* #undef _GLIBCXX_HAVE__HYPOT */
1383
1384/* Define to 1 if you have the `_hypotf' function. */
1385/* #undef _GLIBCXX_HAVE__HYPOTF */
1386
1387/* Define to 1 if you have the `_hypotl' function. */
1388/* #undef _GLIBCXX_HAVE__HYPOTL */
1389
1390/* Define to 1 if you have the `_isinf' function. */
1391/* #undef _GLIBCXX_HAVE__ISINF */
1392
1393/* Define to 1 if you have the `_isinff' function. */
1394/* #undef _GLIBCXX_HAVE__ISINFF */
1395
1396/* Define to 1 if you have the `_isinfl' function. */
1397/* #undef _GLIBCXX_HAVE__ISINFL */
1398
1399/* Define to 1 if you have the `_isnan' function. */
1400/* #undef _GLIBCXX_HAVE__ISNAN */
1401
1402/* Define to 1 if you have the `_isnanf' function. */
1403/* #undef _GLIBCXX_HAVE__ISNANF */
1404
1405/* Define to 1 if you have the `_isnanl' function. */
1406/* #undef _GLIBCXX_HAVE__ISNANL */
1407
1408/* Define to 1 if you have the `_ldexpf' function. */
1409/* #undef _GLIBCXX_HAVE__LDEXPF */
1410
1411/* Define to 1 if you have the `_ldexpl' function. */
1412/* #undef _GLIBCXX_HAVE__LDEXPL */
1413
1414/* Define to 1 if you have the `_log10f' function. */
1415/* #undef _GLIBCXX_HAVE__LOG10F */
1416
1417/* Define to 1 if you have the `_log10l' function. */
1418/* #undef _GLIBCXX_HAVE__LOG10L */
1419
1420/* Define to 1 if you have the `_logf' function. */
1421/* #undef _GLIBCXX_HAVE__LOGF */
1422
1423/* Define to 1 if you have the `_logl' function. */
1424/* #undef _GLIBCXX_HAVE__LOGL */
1425
1426/* Define to 1 if you have the `_modf' function. */
1427/* #undef _GLIBCXX_HAVE__MODF */
1428
1429/* Define to 1 if you have the `_modff' function. */
1430/* #undef _GLIBCXX_HAVE__MODFF */
1431
1432/* Define to 1 if you have the `_modfl' function. */
1433/* #undef _GLIBCXX_HAVE__MODFL */
1434
1435/* Define to 1 if you have the `_powf' function. */
1436/* #undef _GLIBCXX_HAVE__POWF */
1437
1438/* Define to 1 if you have the `_powl' function. */
1439/* #undef _GLIBCXX_HAVE__POWL */
1440
1441/* Define to 1 if you have the `_qfpclass' function. */
1442/* #undef _GLIBCXX_HAVE__QFPCLASS */
1443
1444/* Define to 1 if you have the `_sincos' function. */
1445/* #undef _GLIBCXX_HAVE__SINCOS */
1446
1447/* Define to 1 if you have the `_sincosf' function. */
1448/* #undef _GLIBCXX_HAVE__SINCOSF */
1449
1450/* Define to 1 if you have the `_sincosl' function. */
1451/* #undef _GLIBCXX_HAVE__SINCOSL */
1452
1453/* Define to 1 if you have the `_sinf' function. */
1454/* #undef _GLIBCXX_HAVE__SINF */
1455
1456/* Define to 1 if you have the `_sinhf' function. */
1457/* #undef _GLIBCXX_HAVE__SINHF */
1458
1459/* Define to 1 if you have the `_sinhl' function. */
1460/* #undef _GLIBCXX_HAVE__SINHL */
1461
1462/* Define to 1 if you have the `_sinl' function. */
1463/* #undef _GLIBCXX_HAVE__SINL */
1464
1465/* Define to 1 if you have the `_sqrtf' function. */
1466/* #undef _GLIBCXX_HAVE__SQRTF */
1467
1468/* Define to 1 if you have the `_sqrtl' function. */
1469/* #undef _GLIBCXX_HAVE__SQRTL */
1470
1471/* Define to 1 if you have the `_tanf' function. */
1472/* #undef _GLIBCXX_HAVE__TANF */
1473
1474/* Define to 1 if you have the `_tanhf' function. */
1475/* #undef _GLIBCXX_HAVE__TANHF */
1476
1477/* Define to 1 if you have the `_tanhl' function. */
1478/* #undef _GLIBCXX_HAVE__TANHL */
1479
1480/* Define to 1 if you have the `_tanl' function. */
1481/* #undef _GLIBCXX_HAVE__TANL */
1482
1483/* Define to 1 if you have the `_wfopen' function. */
1484/* #undef _GLIBCXX_HAVE__WFOPEN */
1485
1486/* Define to 1 if you have the `__cxa_thread_atexit' function. */
1487/* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT */
1488
1489/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */
1490#define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1
1491
1492/* Define as const if the declaration of iconv() needs const. */
1493#define _GLIBCXX_ICONV_CONST
1494
1495/* Define to the sub-directory in which libtool stores uninstalled libraries.
1496 */
1497#define LT_OBJDIR ".libs/"
1498
1499/* Name of package */
1500/* #undef _GLIBCXX_PACKAGE */
1501
1502/* Define to the address where bug reports for this package should be sent. */
1503#define _GLIBCXX_PACKAGE_BUGREPORT ""
1504
1505/* Define to the full name of this package. */
1506#define _GLIBCXX_PACKAGE_NAME "package-unused"
1507
1508/* Define to the full name and version of this package. */
1509#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused"
1510
1511/* Define to the one symbol short name of this package. */
1512#define _GLIBCXX_PACKAGE_TARNAME "libstdc++"
1513
1514/* Define to the home page for this package. */
1515#define _GLIBCXX_PACKAGE_URL ""
1516
1517/* Define to the version of this package. */
1518#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused"
1519
1520/* The size of `char', as computed by sizeof. */
1521/* #undef SIZEOF_CHAR */
1522
1523/* The size of `int', as computed by sizeof. */
1524/* #undef SIZEOF_INT */
1525
1526/* The size of `long', as computed by sizeof. */
1527/* #undef SIZEOF_LONG */
1528
1529/* The size of `short', as computed by sizeof. */
1530/* #undef SIZEOF_SHORT */
1531
1532/* The size of `void *', as computed by sizeof. */
1533/* #undef SIZEOF_VOID_P */
1534
1535/* Define to 1 if you have the ANSI C header files. */
1536#define STDC_HEADERS 1
1537
1538/* Version number of package */
1539/* #undef _GLIBCXX_VERSION */
1540
1541/* Enable large inode numbers on Mac OS X 10.5. */
1542#ifndef _GLIBCXX_DARWIN_USE_64_BIT_INODE
1543# define _GLIBCXX_DARWIN_USE_64_BIT_INODE 1
1544#endif
1545
1546/* Number of bits in a file offset, on hosts where this is settable. */
1547/* #undef _GLIBCXX_FILE_OFFSET_BITS */
1548
1549/* Define if C99 functions in <complex.h> should be used in <complex> for
1550 C++11. Using compiler builtins for these functions requires corresponding
1551 C99 library functions to be present. */
1552#define _GLIBCXX11_USE_C99_COMPLEX 1
1553
1554/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
1555 in namespace std for C++11. */
1556#define _GLIBCXX11_USE_C99_MATH 1
1557
1558/* Define if C99 functions or macros in <stdio.h> should be imported in
1559 <cstdio> in namespace std for C++11. */
1560#define _GLIBCXX11_USE_C99_STDIO 1
1561
1562/* Define if C99 functions or macros in <stdlib.h> should be imported in
1563 <cstdlib> in namespace std for C++11. */
1564#define _GLIBCXX11_USE_C99_STDLIB 1
1565
1566/* Define if C99 functions or macros in <wchar.h> should be imported in
1567 <cwchar> in namespace std for C++11. */
1568#define _GLIBCXX11_USE_C99_WCHAR 1
1569
1570/* Define if C99 functions in <complex.h> should be used in <complex> for
1571 C++98. Using compiler builtins for these functions requires corresponding
1572 C99 library functions to be present. */
1573#define _GLIBCXX98_USE_C99_COMPLEX 1
1574
1575/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
1576 in namespace std for C++98. */
1577#define _GLIBCXX98_USE_C99_MATH 1
1578
1579/* Define if C99 functions or macros in <stdio.h> should be imported in
1580 <cstdio> in namespace std for C++98. */
1581#define _GLIBCXX98_USE_C99_STDIO 1
1582
1583/* Define if C99 functions or macros in <stdlib.h> should be imported in
1584 <cstdlib> in namespace std for C++98. */
1585#define _GLIBCXX98_USE_C99_STDLIB 1
1586
1587/* Define if C99 functions or macros in <wchar.h> should be imported in
1588 <cwchar> in namespace std for C++98. */
1589#define _GLIBCXX98_USE_C99_WCHAR 1
1590
1591/* Define if the compiler supports C++11 atomics. */
1592#define _GLIBCXX_ATOMIC_BUILTINS 1
1593
1594/* Define to use concept checking code from the boost libraries. */
1595/* #undef _GLIBCXX_CONCEPT_CHECKS */
1596
1597/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable,
1598 undefined for platform defaults */
1599#define _GLIBCXX_FULLY_DYNAMIC_STRING 0
1600
1601/* Define if gthreads library is available. */
1602#define _GLIBCXX_HAS_GTHREADS 1
1603
1604/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
1605#define _GLIBCXX_HOSTED 1
1606
1607/* Define if compatibility should be provided for alternative 128-bit long
1608 double formats. */
1609
1610/* Define if compatibility should be provided for -mlong-double-64. */
1611
1612/* Define to the letter to which size_t is mangled. */
1613#define _GLIBCXX_MANGLE_SIZE_T m
1614
1615/* Define if C99 llrint and llround functions are missing from <math.h>. */
1616/* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */
1617
1618/* Defined if no way to sleep is available. */
1619/* #undef _GLIBCXX_NO_SLEEP */
1620
1621/* Define if ptrdiff_t is int. */
1622/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */
1623
1624/* Define if using setrlimit to set resource limits during "make check" */
1625#define _GLIBCXX_RES_LIMITS 1
1626
1627/* Define if size_t is unsigned int. */
1628/* #undef _GLIBCXX_SIZE_T_IS_UINT */
1629
1630/* Define to the value of the EOF integer constant. */
1631#define _GLIBCXX_STDIO_EOF -1
1632
1633/* Define to the value of the SEEK_CUR integer constant. */
1634#define _GLIBCXX_STDIO_SEEK_CUR 1
1635
1636/* Define to the value of the SEEK_END integer constant. */
1637#define _GLIBCXX_STDIO_SEEK_END 2
1638
1639/* Define to use symbol versioning in the shared library. */
1640#define _GLIBCXX_SYMVER 1
1641
1642/* Define to use darwin versioning in the shared library. */
1643/* #undef _GLIBCXX_SYMVER_DARWIN */
1644
1645/* Define to use GNU versioning in the shared library. */
1646#define _GLIBCXX_SYMVER_GNU 1
1647
1648/* Define to use GNU namespace versioning in the shared library. */
1649/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */
1650
1651/* Define to use Sun versioning in the shared library. */
1652/* #undef _GLIBCXX_SYMVER_SUN */
1653
1654/* Define if C11 functions in <uchar.h> should be imported into namespace std
1655 in <cuchar>. */
1656#define _GLIBCXX_USE_C11_UCHAR_CXX11 1
1657
1658/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
1659 <stdio.h>, and <stdlib.h> can be used or exposed. */
1660#define _GLIBCXX_USE_C99 1
1661
1662/* Define if C99 functions in <complex.h> should be used in <tr1/complex>.
1663 Using compiler builtins for these functions requires corresponding C99
1664 library functions to be present. */
1665#define _GLIBCXX_USE_C99_COMPLEX_TR1 1
1666
1667/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in
1668 namespace std::tr1. */
1669#define _GLIBCXX_USE_C99_CTYPE_TR1 1
1670
1671/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
1672 namespace std::tr1. */
1673#define _GLIBCXX_USE_C99_FENV_TR1 1
1674
1675/* Define if C99 functions in <inttypes.h> should be imported in
1676 <tr1/cinttypes> in namespace std::tr1. */
1677#define _GLIBCXX_USE_C99_INTTYPES_TR1 1
1678
1679/* Define if wchar_t C99 functions in <inttypes.h> should be imported in
1680 <tr1/cinttypes> in namespace std::tr1. */
1681#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1
1682
1683/* Define if C99 functions or macros in <math.h> should be imported in
1684 <tr1/cmath> in namespace std::tr1. */
1685#define _GLIBCXX_USE_C99_MATH_TR1 1
1686
1687/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in
1688 namespace std::tr1. */
1689#define _GLIBCXX_USE_C99_STDINT_TR1 1
1690
1691/* Defined if clock_gettime syscall has monotonic and realtime clock support.
1692 */
1693/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */
1694
1695/* Defined if clock_gettime has monotonic clock support. */
1696#define _GLIBCXX_USE_CLOCK_MONOTONIC 1
1697
1698/* Defined if clock_gettime has realtime clock support. */
1699#define _GLIBCXX_USE_CLOCK_REALTIME 1
1700
1701/* Define if ISO/IEC TR 24733 decimal floating point types are supported on
1702 this host. */
1703#define _GLIBCXX_USE_DECIMAL_FLOAT 1
1704
1705/* Define if /dev/random and /dev/urandom are available for
1706 std::random_device. */
1707#define _GLIBCXX_USE_DEV_RANDOM 1
1708
1709/* Define if fchmod is available in <sys/stat.h>. */
1710#define _GLIBCXX_USE_FCHMOD 1
1711
1712/* Define if fchmodat is available in <sys/stat.h>. */
1713#define _GLIBCXX_USE_FCHMODAT 1
1714
1715/* Defined if gettimeofday is available. */
1716#define _GLIBCXX_USE_GETTIMEOFDAY 1
1717
1718/* Define if get_nprocs is available in <sys/sysinfo.h>. */
1719#define _GLIBCXX_USE_GET_NPROCS 1
1720
1721/* Define if __int128 is supported on this host. */
1722#define _GLIBCXX_USE_INT128 1
1723
1724/* Define if LFS support is available. */
1725#define _GLIBCXX_USE_LFS 1
1726
1727/* Define if code specialized for long long should be used. */
1728#define _GLIBCXX_USE_LONG_LONG 1
1729
1730/* Define if lstat is available in <sys/stat.h>. */
1731#define _GLIBCXX_USE_LSTAT 1
1732
1733/* Defined if nanosleep is available. */
1734#define _GLIBCXX_USE_NANOSLEEP 1
1735
1736/* Define if NLS translations are to be used. */
1737#define _GLIBCXX_USE_NLS 1
1738
1739/* Define if pthreads_num_processors_np is available in <pthread.h>. */
1740/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */
1741
1742/* Define if pthread_cond_clockwait is available in <pthread.h>. */
1743#define _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1
1744
1745/* Define if pthread_mutex_clocklock is available in <pthread.h>. */
1746#define _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK 1
1747
1748/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are
1749 available in <pthread.h>. */
1750#define _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1
1751
1752/* Define if POSIX read/write locks are available in <gthr.h>. */
1753#define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1
1754
1755/* Define if /dev/random and /dev/urandom are available for the random_device
1756 of TR1 (Chapter 5.1). */
1757#define _GLIBCXX_USE_RANDOM_TR1 1
1758
1759/* Define if usable realpath is available in <stdlib.h>. */
1760#define _GLIBCXX_USE_REALPATH 1
1761
1762/* Defined if sched_yield is available. */
1763#define _GLIBCXX_USE_SCHED_YIELD 1
1764
1765/* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
1766#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1
1767
1768/* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
1769/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */
1770
1771/* Define if sendfile is available in <sys/sendfile.h>. */
1772#define _GLIBCXX_USE_SENDFILE 1
1773
1774/* Define to restrict std::__basic_file<> to stdio APIs. */
1775/* #undef _GLIBCXX_USE_STDIO_PURE */
1776
1777/* Define if struct stat has timespec members. */
1778#define _GLIBCXX_USE_ST_MTIM 1
1779
1780/* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
1781/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */
1782
1783/* Define if obsolescent tmpnam is available in <stdio.h>. */
1784#define _GLIBCXX_USE_TMPNAM 1
1785
1786/* Define if utime is available in <utime.h>. */
1787#define _GLIBCXX_USE_UTIME 1
1788
1789/* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
1790 AT_FDCWD in <fcntl.h>. */
1791#define _GLIBCXX_USE_UTIMENSAT 1
1792
1793/* Define if code specialized for wchar_t should be used. */
1794#define _GLIBCXX_USE_WCHAR_T 1
1795
1796/* Define to 1 if a verbose library is built, or 0 otherwise. */
1797#define _GLIBCXX_VERBOSE 1
1798
1799/* Defined if as can handle rdrand. */
1800#define _GLIBCXX_X86_RDRAND 1
1801
1802/* Defined if as can handle rdseed. */
1803#define _GLIBCXX_X86_RDSEED 1
1804
1805/* Define to 1 if mutex_timedlock is available. */
1806#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1
1807
1808/* Define for large files, on AIX-style hosts. */
1809/* #undef _GLIBCXX_LARGE_FILES */
1810
1811/* Define if all C++11 floating point overloads are available in <math.h>. */
1812#if __cplusplus >= 201103L
1813/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */
1814#endif
1815
1816/* Define if all C++11 integral type overloads are available in <math.h>. */
1817#if __cplusplus >= 201103L
1818/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */
1819#endif
1820
1821#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF)
1822# define _GLIBCXX_HAVE_ACOSF 1
1823# define acosf _acosf
1824#endif
1825
1826#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL)
1827# define _GLIBCXX_HAVE_ACOSL 1
1828# define acosl _acosl
1829#endif
1830
1831#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF)
1832# define _GLIBCXX_HAVE_ASINF 1
1833# define asinf _asinf
1834#endif
1835
1836#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL)
1837# define _GLIBCXX_HAVE_ASINL 1
1838# define asinl _asinl
1839#endif
1840
1841#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F)
1842# define _GLIBCXX_HAVE_ATAN2F 1
1843# define atan2f _atan2f
1844#endif
1845
1846#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L)
1847# define _GLIBCXX_HAVE_ATAN2L 1
1848# define atan2l _atan2l
1849#endif
1850
1851#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF)
1852# define _GLIBCXX_HAVE_ATANF 1
1853# define atanf _atanf
1854#endif
1855
1856#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL)
1857# define _GLIBCXX_HAVE_ATANL 1
1858# define atanl _atanl
1859#endif
1860
1861#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF)
1862# define _GLIBCXX_HAVE_CEILF 1
1863# define ceilf _ceilf
1864#endif
1865
1866#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL)
1867# define _GLIBCXX_HAVE_CEILL 1
1868# define ceill _ceill
1869#endif
1870
1871#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF)
1872# define _GLIBCXX_HAVE_COSF 1
1873# define cosf _cosf
1874#endif
1875
1876#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF)
1877# define _GLIBCXX_HAVE_COSHF 1
1878# define coshf _coshf
1879#endif
1880
1881#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL)
1882# define _GLIBCXX_HAVE_COSHL 1
1883# define coshl _coshl
1884#endif
1885
1886#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL)
1887# define _GLIBCXX_HAVE_COSL 1
1888# define cosl _cosl
1889#endif
1890
1891#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF)
1892# define _GLIBCXX_HAVE_EXPF 1
1893# define expf _expf
1894#endif
1895
1896#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL)
1897# define _GLIBCXX_HAVE_EXPL 1
1898# define expl _expl
1899#endif
1900
1901#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF)
1902# define _GLIBCXX_HAVE_FABSF 1
1903# define fabsf _fabsf
1904#endif
1905
1906#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL)
1907# define _GLIBCXX_HAVE_FABSL 1
1908# define fabsl _fabsl
1909#endif
1910
1911#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE)
1912# define _GLIBCXX_HAVE_FINITE 1
1913# define finite _finite
1914#endif
1915
1916#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF)
1917# define _GLIBCXX_HAVE_FINITEF 1
1918# define finitef _finitef
1919#endif
1920
1921#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL)
1922# define _GLIBCXX_HAVE_FINITEL 1
1923# define finitel _finitel
1924#endif
1925
1926#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF)
1927# define _GLIBCXX_HAVE_FLOORF 1
1928# define floorf _floorf
1929#endif
1930
1931#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL)
1932# define _GLIBCXX_HAVE_FLOORL 1
1933# define floorl _floorl
1934#endif
1935
1936#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF)
1937# define _GLIBCXX_HAVE_FMODF 1
1938# define fmodf _fmodf
1939#endif
1940
1941#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL)
1942# define _GLIBCXX_HAVE_FMODL 1
1943# define fmodl _fmodl
1944#endif
1945
1946#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS)
1947# define _GLIBCXX_HAVE_FPCLASS 1
1948# define fpclass _fpclass
1949#endif
1950
1951#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF)
1952# define _GLIBCXX_HAVE_FREXPF 1
1953# define frexpf _frexpf
1954#endif
1955
1956#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL)
1957# define _GLIBCXX_HAVE_FREXPL 1
1958# define frexpl _frexpl
1959#endif
1960
1961#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT)
1962# define _GLIBCXX_HAVE_HYPOT 1
1963# define hypot _hypot
1964#endif
1965
1966#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF)
1967# define _GLIBCXX_HAVE_HYPOTF 1
1968# define hypotf _hypotf
1969#endif
1970
1971#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL)
1972# define _GLIBCXX_HAVE_HYPOTL 1
1973# define hypotl _hypotl
1974#endif
1975
1976#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF)
1977# define _GLIBCXX_HAVE_ISINF 1
1978# define isinf _isinf
1979#endif
1980
1981#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF)
1982# define _GLIBCXX_HAVE_ISINFF 1
1983# define isinff _isinff
1984#endif
1985
1986#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL)
1987# define _GLIBCXX_HAVE_ISINFL 1
1988# define isinfl _isinfl
1989#endif
1990
1991#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN)
1992# define _GLIBCXX_HAVE_ISNAN 1
1993# define isnan _isnan
1994#endif
1995
1996#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF)
1997# define _GLIBCXX_HAVE_ISNANF 1
1998# define isnanf _isnanf
1999#endif
2000
2001#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL)
2002# define _GLIBCXX_HAVE_ISNANL 1
2003# define isnanl _isnanl
2004#endif
2005
2006#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF)
2007# define _GLIBCXX_HAVE_LDEXPF 1
2008# define ldexpf _ldexpf
2009#endif
2010
2011#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL)
2012# define _GLIBCXX_HAVE_LDEXPL 1
2013# define ldexpl _ldexpl
2014#endif
2015
2016#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F)
2017# define _GLIBCXX_HAVE_LOG10F 1
2018# define log10f _log10f
2019#endif
2020
2021#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L)
2022# define _GLIBCXX_HAVE_LOG10L 1
2023# define log10l _log10l
2024#endif
2025
2026#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF)
2027# define _GLIBCXX_HAVE_LOGF 1
2028# define logf _logf
2029#endif
2030
2031#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL)
2032# define _GLIBCXX_HAVE_LOGL 1
2033# define logl _logl
2034#endif
2035
2036#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF)
2037# define _GLIBCXX_HAVE_MODF 1
2038# define modf _modf
2039#endif
2040
2041#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF)
2042# define _GLIBCXX_HAVE_MODFF 1
2043# define modff _modff
2044#endif
2045
2046#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL)
2047# define _GLIBCXX_HAVE_MODFL 1
2048# define modfl _modfl
2049#endif
2050
2051#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF)
2052# define _GLIBCXX_HAVE_POWF 1
2053# define powf _powf
2054#endif
2055
2056#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL)
2057# define _GLIBCXX_HAVE_POWL 1
2058# define powl _powl
2059#endif
2060
2061#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS)
2062# define _GLIBCXX_HAVE_QFPCLASS 1
2063# define qfpclass _qfpclass
2064#endif
2065
2066#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS)
2067# define _GLIBCXX_HAVE_SINCOS 1
2068# define sincos _sincos
2069#endif
2070
2071#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF)
2072# define _GLIBCXX_HAVE_SINCOSF 1
2073# define sincosf _sincosf
2074#endif
2075
2076#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL)
2077# define _GLIBCXX_HAVE_SINCOSL 1
2078# define sincosl _sincosl
2079#endif
2080
2081#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF)
2082# define _GLIBCXX_HAVE_SINF 1
2083# define sinf _sinf
2084#endif
2085
2086#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF)
2087# define _GLIBCXX_HAVE_SINHF 1
2088# define sinhf _sinhf
2089#endif
2090
2091#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL)
2092# define _GLIBCXX_HAVE_SINHL 1
2093# define sinhl _sinhl
2094#endif
2095
2096#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL)
2097# define _GLIBCXX_HAVE_SINL 1
2098# define sinl _sinl
2099#endif
2100
2101#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF)
2102# define _GLIBCXX_HAVE_SQRTF 1
2103# define sqrtf _sqrtf
2104#endif
2105
2106#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL)
2107# define _GLIBCXX_HAVE_SQRTL 1
2108# define sqrtl _sqrtl
2109#endif
2110
2111#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF)
2112# define _GLIBCXX_HAVE_STRTOF 1
2113# define strtof _strtof
2114#endif
2115
2116#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD)
2117# define _GLIBCXX_HAVE_STRTOLD 1
2118# define strtold _strtold
2119#endif
2120
2121#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF)
2122# define _GLIBCXX_HAVE_TANF 1
2123# define tanf _tanf
2124#endif
2125
2126#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF)
2127# define _GLIBCXX_HAVE_TANHF 1
2128# define tanhf _tanhf
2129#endif
2130
2131#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL)
2132# define _GLIBCXX_HAVE_TANHL 1
2133# define tanhl _tanhl
2134#endif
2135
2136#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL)
2137# define _GLIBCXX_HAVE_TANL 1
2138# define tanl _tanl
2139#endif
2140
2141#endif // _GLIBCXX_CXX_CONFIG_H
2142