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