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

source code of include/x86_64-linux-gnu/c++/11/bits/c++config.h