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