Created
June 18, 2025 21:45
-
-
Save xealits/6b6250f003d56069275bdb5fb79a55ea to your computer and use it in GitHub Desktop.
clang 18.1.3 bug report Preprocessed source
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1 "<built-in>" | |
# 1 "specialise_variadic_templates.cpp" | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* iostream expanded by -frewrite-includes */ | |
#include <iostream> | |
#else /* iostream expanded by -frewrite-includes */ | |
# 1 "specialise_variadic_templates.cpp" | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 1 3 | |
// Standard iostream objects -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/iostream | |
* This is a Standard C++ Library header. | |
*/ | |
// | |
// ISO C++ 14882: 27.3 Standard iostream objects | |
// | |
#ifndef _GLIBCXX_IOSTREAM | |
#define _GLIBCXX_IOSTREAM 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* requires_hosted.h expanded by -frewrite-includes */ | |
#include <bits/requires_hosted.h> // iostreams | |
#else /* requires_hosted.h expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 1 3 | |
// Copyright The GNU Toolchain Authors. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/requires_hosted.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{version} | |
*/ | |
#ifndef _REQUIRES_FREESTANDING_H | |
#define _REQUIRES_FREESTANDING_H 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* c++config.h expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#else /* c++config.h expanded by -frewrite-includes */ | |
# 31 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 1 3 | |
// Predefined symbols and macros -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/c++config.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{version} | |
*/ | |
#ifndef _GLIBCXX_CXX_CONFIG_H | |
#define _GLIBCXX_CXX_CONFIG_H 1 | |
// The major release number for the GCC release the C++ library belongs to. | |
#define _GLIBCXX_RELEASE 13 | |
// The datestamp of the C++ library in compressed ISO date format. | |
#define __GLIBCXX__ 20240904 | |
// Macros for various attributes. | |
// _GLIBCXX_PURE | |
// _GLIBCXX_CONST | |
// _GLIBCXX_NORETURN | |
// _GLIBCXX_NOTHROW | |
// _GLIBCXX_VISIBILITY | |
#ifndef _GLIBCXX_PURE | |
# define _GLIBCXX_PURE __attribute__ ((__pure__)) | |
#endif | |
# 48 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_CONST | |
# define _GLIBCXX_CONST __attribute__ ((__const__)) | |
#endif | |
# 52 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_NORETURN | |
# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) | |
#endif | |
# 56 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// See below for C++ | |
#ifndef _GLIBCXX_NOTHROW | |
# ifndef __cplusplus | |
# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) | |
# endif | |
# 62 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 63 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for visibility attributes. | |
// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY | |
// _GLIBCXX_VISIBILITY | |
# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 70 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) | |
#else | |
# 72 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// If this is not supplied by the OS-specific or CPU-specific | |
// headers included below, it will be defined to an empty default. | |
# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) | |
#endif | |
# 76 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for deprecated attributes. | |
// _GLIBCXX_USE_DEPRECATED | |
// _GLIBCXX_DEPRECATED | |
// _GLIBCXX_DEPRECATED_SUGGEST( string-literal ) | |
// _GLIBCXX11_DEPRECATED | |
// _GLIBCXX11_DEPRECATED_SUGGEST( string-literal ) | |
// _GLIBCXX14_DEPRECATED | |
// _GLIBCXX14_DEPRECATED_SUGGEST( string-literal ) | |
// _GLIBCXX17_DEPRECATED | |
// _GLIBCXX17_DEPRECATED_SUGGEST( string-literal ) | |
// _GLIBCXX20_DEPRECATED | |
// _GLIBCXX20_DEPRECATED_SUGGEST( string-literal ) | |
// _GLIBCXX23_DEPRECATED | |
// _GLIBCXX23_DEPRECATED_SUGGEST( string-literal ) | |
#ifndef _GLIBCXX_USE_DEPRECATED | |
# define _GLIBCXX_USE_DEPRECATED 1 | |
#endif | |
# 94 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 96 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) | |
# define _GLIBCXX_DEPRECATED_SUGGEST(ALT) \ | |
__attribute__ ((__deprecated__ ("use '" ALT "' instead"))) | |
#else | |
# 100 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_DEPRECATED | |
# define _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 103 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) && (__cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 105 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED | |
# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#else | |
# 108 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX11_DEPRECATED | |
# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 111 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) && (__cplusplus >= 201402L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 113 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED | |
# define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#else | |
# 116 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX14_DEPRECATED | |
# define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 119 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) && (__cplusplus >= 201703L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 121 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_DEPRECATED [[__deprecated__]] | |
# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#else | |
# 124 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_DEPRECATED | |
# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 127 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) && (__cplusplus >= 202002L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 129 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX20_DEPRECATED [[__deprecated__]] | |
# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#else | |
# 132 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX20_DEPRECATED | |
# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 135 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__DEPRECATED) && (__cplusplus >= 202100L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 137 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX23_DEPRECATED [[__deprecated__]] | |
# define _GLIBCXX23_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) | |
#else | |
# 140 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX23_DEPRECATED | |
# define _GLIBCXX23_DEPRECATED_SUGGEST(ALT) | |
#endif | |
# 143 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for ABI tag attributes. | |
#ifndef _GLIBCXX_ABI_TAG_CXX11 | |
# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) | |
#endif | |
# 148 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macro to warn about unused results. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 151 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NODISCARD [[__nodiscard__]] | |
#else | |
# 153 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NODISCARD | |
#endif | |
# 155 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 159 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macro for constexpr, to support in mixed 03/0x mode. | |
#ifndef _GLIBCXX_CONSTEXPR | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 163 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_CONSTEXPR constexpr | |
# define _GLIBCXX_USE_CONSTEXPR constexpr | |
# else | |
# 166 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_CONSTEXPR | |
# define _GLIBCXX_USE_CONSTEXPR const | |
# endif | |
# 169 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 170 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX14_CONSTEXPR | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 173 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX14_CONSTEXPR constexpr | |
# else | |
# 175 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX14_CONSTEXPR | |
# endif | |
# 177 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 178 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX17_CONSTEXPR | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 181 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_CONSTEXPR constexpr | |
# else | |
# 183 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_CONSTEXPR | |
# endif | |
# 185 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 186 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX20_CONSTEXPR | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 189 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX20_CONSTEXPR constexpr | |
# else | |
# 191 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX20_CONSTEXPR | |
# endif | |
# 193 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 194 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX23_CONSTEXPR | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 202100L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 197 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX23_CONSTEXPR constexpr | |
# else | |
# 199 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX23_CONSTEXPR | |
# endif | |
# 201 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 202 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX17_INLINE | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 205 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_INLINE inline | |
# else | |
# 207 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX17_INLINE | |
# endif | |
# 209 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 210 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macro for noexcept, to support in mixed 03/0x mode. | |
#ifndef _GLIBCXX_NOEXCEPT | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 214 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NOEXCEPT noexcept | |
# define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__) | |
# define _GLIBCXX_USE_NOEXCEPT noexcept | |
# define _GLIBCXX_THROW(_EXC) | |
# else | |
# 219 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NOEXCEPT | |
# define _GLIBCXX_NOEXCEPT_IF(...) | |
# define _GLIBCXX_USE_NOEXCEPT throw() | |
# define _GLIBCXX_THROW(_EXC) throw(_EXC) | |
# endif | |
# 224 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 225 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_NOTHROW | |
# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT | |
#endif | |
# 229 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_THROW_OR_ABORT | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cpp_exceptions | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 232 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) | |
# else | |
# 234 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) | |
# endif | |
# 236 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 237 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_noexcept_function_type | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 239 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_NOEXCEPT_PARM , bool _NE | |
#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) | |
#else | |
# 242 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_NOEXCEPT_PARM | |
#define _GLIBCXX_NOEXCEPT_QUAL | |
#endif | |
# 245 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macro for extern template, ie controlling template linkage via use | |
// of extern keyword on template declaration. As documented in the g++ | |
// manual, it inhibits all implicit instantiations and is used | |
// throughout the library to avoid multiple weak definitions for | |
// required types that are already explicitly instantiated in the | |
// library binary. This substantially reduces the binary size of | |
// resulting executables. | |
// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern | |
// templates only in basic_string, thus activating its debug-mode | |
// checks even at -O0. | |
# define _GLIBCXX_EXTERN_TEMPLATE 1 | |
/* | |
Outline of libstdc++ namespaces. | |
namespace std | |
{ | |
namespace __debug { } | |
namespace __parallel { } | |
namespace __cxx1998 { } | |
namespace __detail { | |
namespace __variant { } // C++17 | |
} | |
namespace rel_ops { } | |
namespace tr1 | |
{ | |
namespace placeholders { } | |
namespace regex_constants { } | |
namespace __detail { } | |
} | |
namespace tr2 { } | |
namespace decimal { } | |
namespace chrono { } // C++11 | |
namespace placeholders { } // C++11 | |
namespace regex_constants { } // C++11 | |
namespace this_thread { } // C++11 | |
inline namespace literals { // C++14 | |
inline namespace chrono_literals { } // C++14 | |
inline namespace complex_literals { } // C++14 | |
inline namespace string_literals { } // C++14 | |
inline namespace string_view_literals { } // C++17 | |
} | |
} | |
namespace abi { } | |
namespace __gnu_cxx | |
{ | |
namespace __detail { } | |
} | |
For full details see: | |
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html | |
*/ | |
namespace std | |
{ | |
typedef __SIZE_TYPE__ size_t; | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 312 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
typedef decltype(nullptr) nullptr_t; | |
#endif | |
# 314 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#pragma GCC visibility push(default) | |
// This allows the library to terminate without including all of <exception> | |
// and without making the declaration of std::terminate visible to users. | |
extern "C++" __attribute__ ((__noreturn__, __always_inline__)) | |
inline void __terminate() _GLIBCXX_USE_NOEXCEPT | |
{ | |
void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__)); | |
terminate(); | |
} | |
#pragma GCC visibility pop | |
} | |
# define _GLIBCXX_USE_DUAL_ABI 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ! _GLIBCXX_USE_DUAL_ABI | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 330 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI | |
# undef _GLIBCXX_USE_CXX11_ABI | |
#endif | |
# 333 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_USE_CXX11_ABI | |
# define _GLIBCXX_USE_CXX11_ABI 1 | |
#endif | |
# 337 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_CXX11_ABI | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 339 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
namespace std | |
{ | |
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } | |
} | |
namespace __gnu_cxx | |
{ | |
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } | |
} | |
# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: | |
# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { | |
# define _GLIBCXX_END_NAMESPACE_CXX11 } | |
# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 | |
#else | |
# 352 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NAMESPACE_CXX11 | |
# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
# define _GLIBCXX_END_NAMESPACE_CXX11 | |
# define _GLIBCXX_DEFAULT_ABI_TAG | |
#endif | |
# 357 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Non-zero if inline namespaces are used for versioning the entire library. | |
# define _GLIBCXX_INLINE_VERSION 0 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_INLINE_VERSION | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 362 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Inline namespace for symbol versioning of (nearly) everything in std. | |
# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { | |
# define _GLIBCXX_END_NAMESPACE_VERSION } | |
// Unused when everything in std is versioned anyway. | |
# define _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) | |
# define _GLIBCXX_END_INLINE_ABI_NAMESPACE(X) | |
namespace std | |
{ | |
inline _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 373 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
inline namespace literals { | |
inline namespace chrono_literals { } | |
inline namespace complex_literals { } | |
inline namespace string_literals { } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 378 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
inline namespace string_view_literals { } | |
#endif // C++17 | |
# 380 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
} | |
#endif // C++14 | |
# 382 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} | |
namespace __gnu_cxx | |
{ | |
inline _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} | |
#else | |
# 392 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Unused. | |
# define _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
# define _GLIBCXX_END_NAMESPACE_VERSION | |
// Used to version individual components, e.g. std::_V2::error_category. | |
# define _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X { | |
# define _GLIBCXX_END_INLINE_ABI_NAMESPACE(X) } // inline namespace X | |
#endif | |
# 399 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// In the case that we don't have a hosted environment, we can't provide the | |
// debugging mode. Instead, we do our best and downgrade to assertions. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_DEBUG) && !__STDC_HOSTED__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 403 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#undef _GLIBCXX_DEBUG | |
#define _GLIBCXX_ASSERTIONS 1 | |
#endif | |
# 406 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Inline namespaces for special modes: debug, parallel. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 409 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
namespace std | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
// Non-inline namespace for components replaced by alternates in active mode. | |
namespace __cxx1998 | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _GLIBCXX_USE_CXX11_ABI | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 417 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } | |
# endif | |
# 419 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
} | |
_GLIBCXX_END_NAMESPACE_VERSION | |
// Inline namespace for debug mode. | |
# ifdef _GLIBCXX_DEBUG | |
inline namespace __debug { } | |
# endif | |
# 427 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Inline namespaces for parallel mode. | |
# ifdef _GLIBCXX_PARALLEL | |
inline namespace __parallel { } | |
# endif | |
# 432 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
} | |
// Check for invalid usage and unsupported mixed-mode use. | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 436 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# error illegal use of multiple inlined namespaces | |
# endif | |
# 438 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Check for invalid use due to lack for weak symbols. | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __NO_INLINE__ && !__GXX_WEAK__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 441 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# warning currently using inlined namespace mode which may fail \ | |
without inlining due to lack of weak symbols | |
# endif | |
# 444 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 445 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for namespace scope. Either namespace std:: or the name | |
// of some nested namespace within it corresponding to the active mode. | |
// _GLIBCXX_STD_A | |
// _GLIBCXX_STD_C | |
// | |
// Macros for opening/closing conditional namespaces. | |
// _GLIBCXX_BEGIN_NAMESPACE_ALGO | |
// _GLIBCXX_END_NAMESPACE_ALGO | |
// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER | |
// _GLIBCXX_END_NAMESPACE_CONTAINER | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_DEBUG) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 457 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_STD_C __cxx1998 | |
# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ | |
namespace _GLIBCXX_STD_C { | |
# define _GLIBCXX_END_NAMESPACE_CONTAINER } | |
#else | |
# 462 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_STD_C std | |
# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER | |
# define _GLIBCXX_END_NAMESPACE_CONTAINER | |
#endif | |
# 466 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifdef _GLIBCXX_PARALLEL | |
# define _GLIBCXX_STD_A __cxx1998 | |
# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ | |
namespace _GLIBCXX_STD_A { | |
# define _GLIBCXX_END_NAMESPACE_ALGO } | |
#else | |
# 473 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_STD_A std | |
# define _GLIBCXX_BEGIN_NAMESPACE_ALGO | |
# define _GLIBCXX_END_NAMESPACE_ALGO | |
#endif | |
# 477 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// GLIBCXX_ABI Deprecated | |
// Define if compatibility should be provided for -mlong-double-64. | |
#undef _GLIBCXX_LONG_DOUBLE_COMPAT | |
// Define if compatibility should be provided for alternative 128-bit long | |
// double formats. Not possible for Clang until __ibm128 is supported. | |
#ifndef __clang__ | |
#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT | |
#endif | |
# 487 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Inline namespaces for long double 128 modes. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ | |
&& defined __LONG_DOUBLE_IEEE128__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 491 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
namespace std | |
{ | |
// Namespaces for 128-bit IEEE long double format on 64-bit POWER LE. | |
inline namespace __gnu_cxx_ieee128 { } | |
inline namespace __gnu_cxx11_ieee128 { } | |
} | |
# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ieee128:: | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ieee128 { | |
# define _GLIBCXX_END_NAMESPACE_LDBL } | |
# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 __gnu_cxx11_ieee128:: | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 namespace __gnu_cxx11_ieee128 { | |
# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 } | |
#else // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128 | |
# 505 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 507 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
namespace std | |
{ | |
inline namespace __gnu_cxx_ldbl128 { } | |
} | |
# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { | |
# define _GLIBCXX_END_NAMESPACE_LDBL } | |
#else | |
# 515 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NAMESPACE_LDBL | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL | |
# define _GLIBCXX_END_NAMESPACE_LDBL | |
#endif | |
# 519 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_CXX11_ABI | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 521 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 | |
#else | |
# 525 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL | |
# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL | |
# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL | |
#endif | |
# 529 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128 | |
# 531 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
namespace std | |
{ | |
#pragma GCC visibility push(default) | |
// Internal version of std::is_constant_evaluated(). | |
// This can be used without checking if the compiler supports the feature. | |
// The macro _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED can be used to check if | |
// the compiler support is present to make this function work as expected. | |
_GLIBCXX_CONSTEXPR inline bool | |
__is_constant_evaluated() _GLIBCXX_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_if_consteval >= 202106L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 543 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 | |
if consteval { return true; } else { return false; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __cplusplus >= 201103L && __has_builtin(__builtin_is_constant_evaluated) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 1 /* evaluated by -frewrite-includes */ | |
# 546 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 | |
return __builtin_is_constant_evaluated(); | |
#else | |
# 549 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
return false; | |
#endif | |
# 551 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
} | |
#pragma GCC visibility pop | |
} | |
// Debug Mode implies checking assertions. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 557 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_ASSERTIONS 1 | |
#endif | |
# 559 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Disable std::string explicit instantiation declarations in order to assert. | |
#ifdef _GLIBCXX_ASSERTIONS | |
# undef _GLIBCXX_EXTERN_TEMPLATE | |
# define _GLIBCXX_EXTERN_TEMPLATE -1 | |
#endif | |
# 565 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 568 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define __glibcxx_constexpr_assert(cond) \ | |
if (std::__is_constant_evaluated() && !bool(cond)) \ | |
__builtin_unreachable() /* precondition violation detected! */ | |
#else | |
# 572 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define __glibcxx_constexpr_assert(unevaluated) | |
#endif | |
# 574 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_VERBOSE_ASSERT 1 | |
// Assert. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_ASSERTIONS) \ | |
|| defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 580 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifdef _GLIBCXX_VERBOSE_ASSERT | |
namespace std | |
{ | |
#pragma GCC visibility push(default) | |
// Avoid the use of assert, because we're trying to keep the <cassert> | |
// include out of the mix. | |
extern "C++" _GLIBCXX_NORETURN | |
void | |
__glibcxx_assert_fail(const char* __file, int __line, | |
const char* __function, const char* __condition) | |
_GLIBCXX_NOEXCEPT; | |
#pragma GCC visibility pop | |
} | |
#define __glibcxx_assert_impl(_Condition) \ | |
if (__builtin_expect(!bool(_Condition), false)) \ | |
{ \ | |
__glibcxx_constexpr_assert(false); \ | |
std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ | |
#_Condition); \ | |
} | |
# else // ! VERBOSE_ASSERT | |
# 601 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define __glibcxx_assert_impl(_Condition) \ | |
if (__builtin_expect(!bool(_Condition), false)) \ | |
{ \ | |
__glibcxx_constexpr_assert(false); \ | |
__builtin_abort(); \ | |
} | |
# endif | |
# 608 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 609 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_ASSERTIONS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 611 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define __glibcxx_assert(cond) \ | |
do { __glibcxx_assert_impl(cond); } while (false) | |
#else | |
# 614 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define __glibcxx_assert(cond) \ | |
do { __glibcxx_constexpr_assert(cond); } while (false) | |
#endif | |
# 617 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macro indicating that TSAN is in use. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __SANITIZE_THREAD__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 620 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_TSAN 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined __has_feature | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 1 /* evaluated by -frewrite-includes */ | |
# 622 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __has_feature(thread_sanitizer) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 623 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_TSAN 1 | |
# endif | |
# 625 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 626 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for race detectors. | |
// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and | |
// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain | |
// atomic (lock-free) synchronization to race detectors: | |
// the race detector will infer a happens-before arc from the former to the | |
// latter when they share the same argument pointer. | |
// | |
// The most frequent use case for these macros (and the only case in the | |
// current implementation of the library) is atomic reference counting: | |
// void _M_remove_reference() | |
// { | |
// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); | |
// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) | |
// { | |
// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); | |
// _M_destroy(__a); | |
// } | |
// } | |
// The annotations in this example tell the race detector that all memory | |
// accesses occurred when the refcount was positive do not race with | |
// memory accesses which occurred after the refcount became zero. | |
#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE | |
# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) | |
#endif | |
# 651 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER | |
# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) | |
#endif | |
# 654 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Macros for C linkage: define extern "C" linkage only when using C++. | |
# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { | |
# define _GLIBCXX_END_EXTERN_C } | |
# define _GLIBCXX_USE_ALLOCATOR_NEW 1 | |
#ifdef __SIZEOF_INT128__ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ! defined __GLIBCXX_TYPE_INT_N_0 && ! defined __STRICT_ANSI__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 663 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// If __int128 is supported, we expect __GLIBCXX_TYPE_INT_N_0 to be defined | |
// unless the compiler is in strict mode. If it's not defined and the strict | |
// macro is not defined, something is wrong. | |
#warning "__STRICT_ANSI__ seems to have been undefined; this is not supported" | |
#endif | |
# 668 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 669 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#else // !__cplusplus | |
# 671 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_BEGIN_EXTERN_C | |
# define _GLIBCXX_END_EXTERN_C | |
#endif | |
# 674 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// First includes. | |
// Pick up any OS-specific definitions. | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* os_defines.h expanded by -frewrite-includes */ | |
#include <bits/os_defines.h> | |
#else /* os_defines.h expanded by -frewrite-includes */ | |
# 679 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 1 3 | |
// Specific definitions for GNU/Linux -*- C++ -*- | |
// Copyright (C) 2000-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/os_defines.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{iosfwd} | |
*/ | |
#ifndef _GLIBCXX_OS_DEFINES | |
#define _GLIBCXX_OS_DEFINES 1 | |
// System-specific #define, typedefs, corrections, etc, go here. This | |
// file will come before all others. | |
// This keeps isalnum, et al from being propagated as macros. | |
#define __NO_CTYPE 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* features.h expanded by -frewrite-includes */ | |
#include <features.h> | |
#else /* features.h expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
# 1 "/usr/include/features.h" 1 3 4 | |
/* Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _FEATURES_H | |
#define _FEATURES_H 1 | |
/* These are defined by the user (or the compiler) | |
to specify the desired environment: | |
__STRICT_ANSI__ ISO Standard C. | |
_ISOC99_SOURCE Extensions to ISO C89 from ISO C99. | |
_ISOC11_SOURCE Extensions to ISO C99 from ISO C11. | |
_ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. | |
__STDC_WANT_LIB_EXT2__ | |
Extensions to ISO C99 from TR 27431-2:2010. | |
__STDC_WANT_IEC_60559_BFP_EXT__ | |
Extensions to ISO C11 from TS 18661-1:2014. | |
__STDC_WANT_IEC_60559_FUNCS_EXT__ | |
Extensions to ISO C11 from TS 18661-4:2015. | |
__STDC_WANT_IEC_60559_TYPES_EXT__ | |
Extensions to ISO C11 from TS 18661-3:2015. | |
__STDC_WANT_IEC_60559_EXT__ | |
ISO C2X interfaces defined only in Annex F. | |
_POSIX_SOURCE IEEE Std 1003.1. | |
_POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; | |
if >=199309L, add IEEE Std 1003.1b-1993; | |
if >=199506L, add IEEE Std 1003.1c-1995; | |
if >=200112L, all of IEEE 1003.1-2004 | |
if >=200809L, all of IEEE 1003.1-2008 | |
_XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if | |
Single Unix conformance is wanted, to 600 for the | |
sixth revision, to 700 for the seventh revision. | |
_XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. | |
_LARGEFILE_SOURCE Some more functions for correct standard I/O. | |
_LARGEFILE64_SOURCE Additional functionality from LFS for large files. | |
_FILE_OFFSET_BITS=N Select default filesystem interface. | |
_ATFILE_SOURCE Additional *at interfaces. | |
_DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant) | |
MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. | |
_GNU_SOURCE All of the above, plus GNU extensions. | |
_DEFAULT_SOURCE The default set of features (taking precedence over | |
__STRICT_ANSI__). | |
_FORTIFY_SOURCE Add security hardening to many library functions. | |
Set to 1, 2 or 3; 3 performs stricter checks than 2, which | |
performs stricter checks than 1. | |
_REENTRANT, _THREAD_SAFE | |
Obsolete; equivalent to _POSIX_C_SOURCE=199506L. | |
The `-ansi' switch to the GNU C compiler, and standards conformance | |
options such as `-std=c99', define __STRICT_ANSI__. If none of | |
these are defined, or if _DEFAULT_SOURCE is defined, the default is | |
to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to | |
200809L, as well as enabling miscellaneous functions from BSD and | |
SVID. If more than one of these are defined, they accumulate. For | |
example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together | |
give you ISO C, 1003.1, and 1003.2, but nothing else. | |
These are defined by this file and are used by the | |
header files to decide what to declare or define: | |
__GLIBC_USE (F) Define things from feature set F. This is defined | |
to 1 or 0; the subsequent macros are either defined | |
or undefined, and those tests should be moved to | |
__GLIBC_USE. | |
__USE_ISOC11 Define ISO C11 things. | |
__USE_ISOC99 Define ISO C99 things. | |
__USE_ISOC95 Define ISO C90 AMD1 (C95) things. | |
__USE_ISOCXX11 Define ISO C++11 things. | |
__USE_POSIX Define IEEE Std 1003.1 things. | |
__USE_POSIX2 Define IEEE Std 1003.2 things. | |
__USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. | |
__USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. | |
__USE_XOPEN Define XPG things. | |
__USE_XOPEN_EXTENDED Define X/Open Unix things. | |
__USE_UNIX98 Define Single Unix V2 things. | |
__USE_XOPEN2K Define XPG6 things. | |
__USE_XOPEN2KXSI Define XPG6 XSI things. | |
__USE_XOPEN2K8 Define XPG7 things. | |
__USE_XOPEN2K8XSI Define XPG7 XSI things. | |
__USE_LARGEFILE Define correct standard I/O things. | |
__USE_LARGEFILE64 Define LFS things with separate names. | |
__USE_FILE_OFFSET64 Define 64bit interface as default. | |
__USE_MISC Define things from 4.3BSD or System V Unix. | |
__USE_ATFILE Define *at interfaces and AT_* constants for them. | |
__USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant) | |
MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. | |
__USE_GNU Define GNU extensions. | |
__USE_FORTIFY_LEVEL Additional security measures used, according to level. | |
The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are | |
defined by this file unconditionally. `__GNU_LIBRARY__' is provided | |
only for compatibility. All new code should use the other symbols | |
to test for features. | |
All macros listed above as possibly being defined by this file are | |
explicitly undefined if they are not explicitly defined. | |
Feature-test macros that are not defined by the user or compiler | |
but are implied by the other feature-test macros defined (or by the | |
lack of any definitions) are defined by the file. | |
ISO C feature test macros depend on the definition of the macro | |
when an affected header is included, not when the first system | |
header is included, and so they are handled in | |
<bits/libc-header-start.h>, which does not have a multiple include | |
guard. Feature test macros that can be handled from the first | |
system header included are handled here. */ | |
/* Undefine everything, so we get a clean slate. */ | |
#undef __USE_ISOC11 | |
#undef __USE_ISOC99 | |
#undef __USE_ISOC95 | |
#undef __USE_ISOCXX11 | |
#undef __USE_POSIX | |
#undef __USE_POSIX2 | |
#undef __USE_POSIX199309 | |
#undef __USE_POSIX199506 | |
#undef __USE_XOPEN | |
#undef __USE_XOPEN_EXTENDED | |
#undef __USE_UNIX98 | |
#undef __USE_XOPEN2K | |
#undef __USE_XOPEN2KXSI | |
#undef __USE_XOPEN2K8 | |
#undef __USE_XOPEN2K8XSI | |
#undef __USE_LARGEFILE | |
#undef __USE_LARGEFILE64 | |
#undef __USE_FILE_OFFSET64 | |
#undef __USE_MISC | |
#undef __USE_ATFILE | |
#undef __USE_DYNAMIC_STACK_SIZE | |
#undef __USE_GNU | |
#undef __USE_FORTIFY_LEVEL | |
#undef __KERNEL_STRICT_NAMES | |
#undef __GLIBC_USE_ISOC2X | |
#undef __GLIBC_USE_DEPRECATED_GETS | |
#undef __GLIBC_USE_DEPRECATED_SCANF | |
#undef __GLIBC_USE_C2X_STRTOL | |
/* Suppress kernel-name space pollution unless user expressedly asks | |
for it. */ | |
#ifndef _LOOSE_KERNEL_NAMES | |
# define __KERNEL_STRICT_NAMES | |
#endif | |
# 161 "/usr/include/features.h" 3 4 | |
/* Convenience macro to test the version of gcc. | |
Use like this: | |
#if __GNUC_PREREQ (2,8) | |
... code requiring gcc 2.8 or later ... | |
#endif | |
Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was | |
added in 2.0. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __GNUC__ && defined __GNUC_MINOR__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 170 "/usr/include/features.h" 3 4 | |
# define __GNUC_PREREQ(maj, min) \ | |
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) | |
#else | |
# 173 "/usr/include/features.h" 3 4 | |
# define __GNUC_PREREQ(maj, min) 0 | |
#endif | |
# 175 "/usr/include/features.h" 3 4 | |
/* Similarly for clang. Features added to GCC after version 4.2 may | |
or may not also be available in clang, and clang's definitions of | |
__GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such | |
features can be queried via __has_extension/__has_feature. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __clang_major__ && defined __clang_minor__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 181 "/usr/include/features.h" 3 4 | |
# define __glibc_clang_prereq(maj, min) \ | |
((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) | |
#else | |
# 184 "/usr/include/features.h" 3 4 | |
# define __glibc_clang_prereq(maj, min) 0 | |
#endif | |
# 186 "/usr/include/features.h" 3 4 | |
/* Whether to use feature set F. */ | |
#define __GLIBC_USE(F) __GLIBC_USE_ ## F | |
/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for | |
_DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not | |
issue a warning; the expectation is that the source is being | |
transitioned to use the new macro. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \ | |
&& !defined _DEFAULT_SOURCE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 196 "/usr/include/features.h" 3 4 | |
# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" | |
# undef _DEFAULT_SOURCE | |
# define _DEFAULT_SOURCE 1 | |
#endif | |
# 200 "/usr/include/features.h" 3 4 | |
/* If _GNU_SOURCE was defined by the user, turn on all the other features. */ | |
#ifdef _GNU_SOURCE | |
# undef _ISOC95_SOURCE | |
# define _ISOC95_SOURCE 1 | |
# undef _ISOC99_SOURCE | |
# define _ISOC99_SOURCE 1 | |
# undef _ISOC11_SOURCE | |
# define _ISOC11_SOURCE 1 | |
# undef _ISOC2X_SOURCE | |
# define _ISOC2X_SOURCE 1 | |
# undef _POSIX_SOURCE | |
# define _POSIX_SOURCE 1 | |
# undef _POSIX_C_SOURCE | |
# define _POSIX_C_SOURCE 200809L | |
# undef _XOPEN_SOURCE | |
# define _XOPEN_SOURCE 700 | |
# undef _XOPEN_SOURCE_EXTENDED | |
# define _XOPEN_SOURCE_EXTENDED 1 | |
# undef _LARGEFILE64_SOURCE | |
# define _LARGEFILE64_SOURCE 1 | |
# undef _DEFAULT_SOURCE | |
# define _DEFAULT_SOURCE 1 | |
# undef _ATFILE_SOURCE | |
# define _ATFILE_SOURCE 1 | |
# undef _DYNAMIC_STACK_SIZE_SOURCE | |
# define _DYNAMIC_STACK_SIZE_SOURCE 1 | |
#endif | |
# 228 "/usr/include/features.h" 3 4 | |
/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, | |
define _DEFAULT_SOURCE. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _DEFAULT_SOURCE \ | |
|| (!defined __STRICT_ANSI__ \ | |
&& !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ | |
&& !defined _ISOC2X_SOURCE \ | |
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ | |
&& !defined _XOPEN_SOURCE)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 237 "/usr/include/features.h" 3 4 | |
# undef _DEFAULT_SOURCE | |
# define _DEFAULT_SOURCE 1 | |
#endif | |
# 240 "/usr/include/features.h" 3 4 | |
/* This is to enable the ISO C2X extension. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _ISOC2X_SOURCE \ | |
|| (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 244 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_ISOC2X 1 | |
#else | |
# 246 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_ISOC2X 0 | |
#endif | |
# 248 "/usr/include/features.h" 3 4 | |
/* This is to enable the ISO C11 extension. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \ | |
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 252 "/usr/include/features.h" 3 4 | |
# define __USE_ISOC11 1 | |
#endif | |
# 254 "/usr/include/features.h" 3 4 | |
/* This is to enable the ISO C99 extension. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ | |
|| defined _ISOC2X_SOURCE \ | |
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 259 "/usr/include/features.h" 3 4 | |
# define __USE_ISOC99 1 | |
#endif | |
# 261 "/usr/include/features.h" 3 4 | |
/* This is to enable the ISO C90 Amendment 1:1995 extension. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ | |
|| defined _ISOC2X_SOURCE \ | |
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 266 "/usr/include/features.h" 3 4 | |
# define __USE_ISOC95 1 | |
#endif | |
# 268 "/usr/include/features.h" 3 4 | |
#ifdef __cplusplus | |
/* This is to enable compatibility for ISO C++17. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 272 "/usr/include/features.h" 3 4 | |
# define __USE_ISOC11 1 | |
# endif | |
# 274 "/usr/include/features.h" 3 4 | |
/* This is to enable compatibility for ISO C++11. | |
Check the temporary macro for now, too. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 277 "/usr/include/features.h" 3 4 | |
# define __USE_ISOCXX11 1 | |
# define __USE_ISOC99 1 | |
# endif | |
# 280 "/usr/include/features.h" 3 4 | |
#endif | |
# 281 "/usr/include/features.h" 3 4 | |
/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE | |
is defined, use POSIX.1-2008 (or another version depending on | |
_XOPEN_SOURCE). */ | |
#ifdef _DEFAULT_SOURCE | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 287 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX_IMPLICITLY 1 | |
# endif | |
# 289 "/usr/include/features.h" 3 4 | |
# undef _POSIX_SOURCE | |
# define _POSIX_SOURCE 1 | |
# undef _POSIX_C_SOURCE | |
# define _POSIX_C_SOURCE 200809L | |
#endif | |
# 294 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ((!defined __STRICT_ANSI__ \ | |
|| (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ | |
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 298 "/usr/include/features.h" 3 4 | |
# define _POSIX_SOURCE 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 300 "/usr/include/features.h" 3 4 | |
# define _POSIX_C_SOURCE 2 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 302 "/usr/include/features.h" 3 4 | |
# define _POSIX_C_SOURCE 199506L | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 304 "/usr/include/features.h" 3 4 | |
# define _POSIX_C_SOURCE 200112L | |
# else | |
# 306 "/usr/include/features.h" 3 4 | |
# define _POSIX_C_SOURCE 200809L | |
# endif | |
# 308 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX_IMPLICITLY 1 | |
#endif | |
# 310 "/usr/include/features.h" 3 4 | |
/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be | |
defined in all multithreaded code. GNU libc has not required this | |
for many years. We now treat them as compatibility synonyms for | |
_POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with | |
comprehensive support for multithreaded code. Using them never | |
lowers the selected level of POSIX conformance, only raises it. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ | |
&& (defined _REENTRANT || defined _THREAD_SAFE)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 319 "/usr/include/features.h" 3 4 | |
# define _POSIX_SOURCE 1 | |
# undef _POSIX_C_SOURCE | |
# define _POSIX_C_SOURCE 199506L | |
#endif | |
# 323 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined _POSIX_SOURCE \ | |
|| (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ | |
|| defined _XOPEN_SOURCE) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 327 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX 1 | |
#endif | |
# 329 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 331 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX2 1 | |
#endif | |
# 333 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 335 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX199309 1 | |
#endif | |
# 337 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 339 "/usr/include/features.h" 3 4 | |
# define __USE_POSIX199506 1 | |
#endif | |
# 341 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 343 "/usr/include/features.h" 3 4 | |
# define __USE_XOPEN2K 1 | |
# undef __USE_ISOC95 | |
# define __USE_ISOC95 1 | |
# undef __USE_ISOC99 | |
# define __USE_ISOC99 1 | |
#endif | |
# 349 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 351 "/usr/include/features.h" 3 4 | |
# define __USE_XOPEN2K8 1 | |
# undef _ATFILE_SOURCE | |
# define _ATFILE_SOURCE 1 | |
#endif | |
# 355 "/usr/include/features.h" 3 4 | |
#ifdef _XOPEN_SOURCE | |
# define __USE_XOPEN 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if (_XOPEN_SOURCE - 0) >= 500 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 359 "/usr/include/features.h" 3 4 | |
# define __USE_XOPEN_EXTENDED 1 | |
# define __USE_UNIX98 1 | |
# undef _LARGEFILE_SOURCE | |
# define _LARGEFILE_SOURCE 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if (_XOPEN_SOURCE - 0) >= 600 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 364 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if (_XOPEN_SOURCE - 0) >= 700 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 365 "/usr/include/features.h" 3 4 | |
# define __USE_XOPEN2K8 1 | |
# define __USE_XOPEN2K8XSI 1 | |
# endif | |
# 368 "/usr/include/features.h" 3 4 | |
# define __USE_XOPEN2K 1 | |
# define __USE_XOPEN2KXSI 1 | |
# undef __USE_ISOC95 | |
# define __USE_ISOC95 1 | |
# undef __USE_ISOC99 | |
# define __USE_ISOC99 1 | |
# endif | |
# 375 "/usr/include/features.h" 3 4 | |
# else | |
# 376 "/usr/include/features.h" 3 4 | |
# ifdef _XOPEN_SOURCE_EXTENDED | |
# define __USE_XOPEN_EXTENDED 1 | |
# endif | |
# 379 "/usr/include/features.h" 3 4 | |
# endif | |
# 380 "/usr/include/features.h" 3 4 | |
#endif | |
# 381 "/usr/include/features.h" 3 4 | |
#ifdef _LARGEFILE_SOURCE | |
# define __USE_LARGEFILE 1 | |
#endif | |
# 385 "/usr/include/features.h" 3 4 | |
#ifdef _LARGEFILE64_SOURCE | |
# define __USE_LARGEFILE64 1 | |
#endif | |
# 389 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 391 "/usr/include/features.h" 3 4 | |
# define __USE_FILE_OFFSET64 1 | |
#endif | |
# 393 "/usr/include/features.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* features-time64.h expanded by -frewrite-includes */ | |
#include <features-time64.h> | |
#else /* features-time64.h expanded by -frewrite-includes */ | |
# 394 "/usr/include/features.h" 3 4 | |
# 1 "/usr/include/features-time64.h" 1 3 4 | |
/* Features part to handle 64-bit time_t support. | |
Copyright (C) 2021-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* We need to know the word size in order to check the time size. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 20 "/usr/include/features-time64.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 21 "/usr/include/features-time64.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* timesize.h expanded by -frewrite-includes */ | |
#include <bits/timesize.h> | |
#else /* timesize.h expanded by -frewrite-includes */ | |
# 21 "/usr/include/features-time64.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 | |
/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. | |
Copyright (C) 2018-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
/* For x32, time is 64-bit even though word size is 32-bit. */ | |
# define __TIMESIZE 64 | |
#else | |
# 25 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
/* For others, time size is word size. */ | |
# define __TIMESIZE __WORDSIZE | |
#endif | |
# 28 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
#endif /* timesize.h expanded by -frewrite-includes */ | |
# 22 "/usr/include/features-time64.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _TIME_BITS | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 24 "/usr/include/features-time64.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _TIME_BITS == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 25 "/usr/include/features-time64.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 26 "/usr/include/features-time64.h" 3 4 | |
# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif __TIMESIZE == 32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 28 "/usr/include/features-time64.h" 3 4 | |
# define __USE_TIME_BITS64 1 | |
# endif | |
# 30 "/usr/include/features-time64.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif _TIME_BITS == 32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 31 "/usr/include/features-time64.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __TIMESIZE > 32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 32 "/usr/include/features-time64.h" 3 4 | |
# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" | |
# endif | |
# 34 "/usr/include/features-time64.h" 3 4 | |
# else | |
# 35 "/usr/include/features-time64.h" 3 4 | |
# error Invalid _TIME_BITS value (can only be 32 or 64-bit) | |
# endif | |
# 37 "/usr/include/features-time64.h" 3 4 | |
#endif | |
# 38 "/usr/include/features-time64.h" 3 4 | |
#endif /* features-time64.h expanded by -frewrite-includes */ | |
# 395 "/usr/include/features.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _DEFAULT_SOURCE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 397 "/usr/include/features.h" 3 4 | |
# define __USE_MISC 1 | |
#endif | |
# 399 "/usr/include/features.h" 3 4 | |
#ifdef _ATFILE_SOURCE | |
# define __USE_ATFILE 1 | |
#endif | |
# 403 "/usr/include/features.h" 3 4 | |
#ifdef _DYNAMIC_STACK_SIZE_SOURCE | |
# define __USE_DYNAMIC_STACK_SIZE 1 | |
#endif | |
# 407 "/usr/include/features.h" 3 4 | |
#ifdef _GNU_SOURCE | |
# define __USE_GNU 1 | |
#endif | |
# 411 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ | |
&& defined __OPTIMIZE__ && __OPTIMIZE__ > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 414 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (4, 1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 415 "/usr/include/features.h" 3 4 | |
# warning _FORTIFY_SOURCE requires GCC 4.1 or later | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ | |
|| __GNUC_PREREQ (12, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 418 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _FORTIFY_SOURCE > 3 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 420 "/usr/include/features.h" 3 4 | |
# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform | |
# endif | |
# 422 "/usr/include/features.h" 3 4 | |
# define __USE_FORTIFY_LEVEL 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif _FORTIFY_SOURCE > 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 424 "/usr/include/features.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _FORTIFY_SOURCE > 2 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 425 "/usr/include/features.h" 3 4 | |
# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform | |
# endif | |
# 427 "/usr/include/features.h" 3 4 | |
# define __USE_FORTIFY_LEVEL 2 | |
# else | |
# 429 "/usr/include/features.h" 3 4 | |
# define __USE_FORTIFY_LEVEL 1 | |
# endif | |
# 431 "/usr/include/features.h" 3 4 | |
#endif | |
# 432 "/usr/include/features.h" 3 4 | |
#ifndef __USE_FORTIFY_LEVEL | |
# define __USE_FORTIFY_LEVEL 0 | |
#endif | |
# 435 "/usr/include/features.h" 3 4 | |
/* The function 'gets' existed in C89, but is impossible to use | |
safely. It has been removed from ISO C11 and ISO C++14. Note: for | |
compatibility with various implementations of <cstdio>, this test | |
must consider only the value of __cplusplus when compiling C++. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 441 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_DEPRECATED_GETS 0 | |
#else | |
# 443 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_DEPRECATED_GETS 1 | |
#endif | |
# 445 "/usr/include/features.h" 3 4 | |
/* GNU formerly extended the scanf functions with modified format | |
specifiers %as, %aS, and %a[...] that allocate a buffer for the | |
input using malloc. This extension conflicts with ISO C99, which | |
defines %a as a standalone format specifier that reads a floating- | |
point number; moreover, POSIX.1-2008 provides the same feature | |
using the modifier letter 'm' instead (%ms, %mS, %m[...]). | |
We now follow C99 unless GNU extensions are active and the compiler | |
is specifically in C89 or C++98 mode (strict or not). For | |
instance, with GCC, -std=gnu11 will have C99-compliant scanf with | |
or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the | |
old extension. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __USE_GNU \ | |
&& (defined __cplusplus \ | |
? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ | |
: (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 462 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_DEPRECATED_SCANF 1 | |
#else | |
# 464 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_DEPRECATED_SCANF 0 | |
#endif | |
# 466 "/usr/include/features.h" 3 4 | |
/* ISO C2X added support for a 0b or 0B prefix on binary constants as | |
inputs to strtol-family functions (base 0 or 2). This macro is | |
used to condition redirection in headers to allow that redirection | |
to be disabled when building those functions, despite _GNU_SOURCE | |
being defined. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 473 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_C2X_STRTOL 1 | |
#else | |
# 475 "/usr/include/features.h" 3 4 | |
# define __GLIBC_USE_C2X_STRTOL 0 | |
#endif | |
# 477 "/usr/include/features.h" 3 4 | |
/* Get definitions of __STDC_* predefined macros, if the compiler has | |
not preincluded this header automatically. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stdc-predef.h expanded by -frewrite-includes */ | |
#include <stdc-predef.h> | |
#else /* stdc-predef.h expanded by -frewrite-includes */ | |
# 480 "/usr/include/features.h" 3 4 | |
# 1 "/usr/include/stdc-predef.h" 1 3 4 | |
/* Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _STDC_PREDEF_H | |
#define _STDC_PREDEF_H 1 | |
/* This header is separate from features.h so that the compiler can | |
include it implicitly at the start of every compilation. It must | |
not itself include <features.h> or any other header that includes | |
<features.h> because the implicit include comes before any feature | |
test macros that may be defined in a source file before it first | |
explicitly includes a system header. GCC knows the name of this | |
header in order to preinclude it. */ | |
/* glibc's intent is to support the IEC 559 math functionality, real | |
and complex. If the GCC (4.9 and later) predefined macros | |
specifying compiler intent are available, use them to determine | |
whether the overall intent is to support these features; otherwise, | |
presume an older compiler has intent to support these features and | |
define these macros by default. */ | |
#ifdef __GCC_IEC_559 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GCC_IEC_559 > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/include/stdc-predef.h" 3 4 | |
# define __STDC_IEC_559__ 1 | |
# define __STDC_IEC_60559_BFP__ 201404L | |
# endif | |
# 41 "/usr/include/stdc-predef.h" 3 4 | |
#else | |
# 42 "/usr/include/stdc-predef.h" 3 4 | |
# define __STDC_IEC_559__ 1 | |
# define __STDC_IEC_60559_BFP__ 201404L | |
#endif | |
# 45 "/usr/include/stdc-predef.h" 3 4 | |
#ifdef __GCC_IEC_559_COMPLEX | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GCC_IEC_559_COMPLEX > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 48 "/usr/include/stdc-predef.h" 3 4 | |
# define __STDC_IEC_559_COMPLEX__ 1 | |
# define __STDC_IEC_60559_COMPLEX__ 201404L | |
# endif | |
# 51 "/usr/include/stdc-predef.h" 3 4 | |
#else | |
# 52 "/usr/include/stdc-predef.h" 3 4 | |
# define __STDC_IEC_559_COMPLEX__ 1 | |
# define __STDC_IEC_60559_COMPLEX__ 201404L | |
#endif | |
# 55 "/usr/include/stdc-predef.h" 3 4 | |
/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is | |
synchronized with ISO/IEC 10646:2017, fifth edition, plus | |
the following additions from Amendment 1 to the fifth edition: | |
- 56 emoji characters | |
- 285 hentaigana | |
- 3 additional Zanabazar Square characters */ | |
#define __STDC_ISO_10646__ 201706L | |
#endif | |
# 65 "/usr/include/stdc-predef.h" 3 4 | |
#endif /* stdc-predef.h expanded by -frewrite-includes */ | |
# 481 "/usr/include/features.h" 2 3 4 | |
/* This macro indicates that the installed library is the GNU C Library. | |
For historic reasons the value now is 6 and this will stay from now | |
on. The use of this variable is deprecated. Use __GLIBC__ and | |
__GLIBC_MINOR__ now (see below) when you want to test for a specific | |
GNU C library version and use the values in <gnu/lib-names.h> to get | |
the sonames of the shared libraries. */ | |
#undef __GNU_LIBRARY__ | |
#define __GNU_LIBRARY__ 6 | |
/* Major and minor version number of the GNU C library package. Use | |
these macros to test for features in specific releases. */ | |
#define __GLIBC__ 2 | |
#define __GLIBC_MINOR__ 39 | |
#define __GLIBC_PREREQ(maj, min) \ | |
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) | |
/* This is here only because every header file already includes this one. */ | |
#ifndef __ASSEMBLER__ | |
# ifndef _SYS_CDEFS_H | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cdefs.h expanded by -frewrite-includes */ | |
# include <sys/cdefs.h> | |
#else /* cdefs.h expanded by -frewrite-includes */ | |
# 502 "/usr/include/features.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 | |
/* Copyright (C) 1992-2024 Free Software Foundation, Inc. | |
Copyright The GNU Toolchain Authors. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _SYS_CDEFS_H | |
#define _SYS_CDEFS_H 1 | |
/* We are almost always included from features.h. */ | |
#ifndef _FEATURES_H | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 24 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# 25 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 26 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* The GNU libc does not support any K&R compilers or the traditional mode | |
of ISO C compilers anymore. Check for some of the combinations not | |
supported anymore. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 31 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# error "You need a ISO C or C++ conforming compiler to use the glibc headers" | |
#endif | |
# 33 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Some user header file might have defined this before. */ | |
#undef __P | |
#undef __PMT | |
/* Compilers that lack __has_attribute may object to | |
#if defined __has_attribute && __has_attribute (...) | |
even though they do not need to evaluate the right-hand side of the &&. | |
Similarly for __has_builtin, etc. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __has_attribute \ | |
&& (!defined __clang_minor__ \ | |
|| 3 < __clang_major__ + (5 <= __clang_minor__))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 45 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_has_attribute(attr) __has_attribute (attr) | |
#else | |
# 47 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_has_attribute(attr) 0 | |
#endif | |
# 49 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifdef __has_builtin | |
# define __glibc_has_builtin(name) __has_builtin (name) | |
#else | |
# 52 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_has_builtin(name) 0 | |
#endif | |
# 54 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifdef __has_extension | |
# define __glibc_has_extension(ext) __has_extension (ext) | |
#else | |
# 57 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_has_extension(ext) 0 | |
#endif | |
# 59 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __GNUC__ || defined __clang__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 61 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* All functions, except those with callbacks or those that | |
synchronize memory, are leaf functions. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (4, 6) && !defined _LIBC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 65 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __LEAF , __leaf__ | |
# define __LEAF_ATTR __attribute__ ((__leaf__)) | |
# else | |
# 68 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __LEAF | |
# define __LEAF_ATTR | |
# endif | |
# 71 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* GCC can always grok prototypes. For C++ programs we add throw() | |
to help it optimize the function calls. But this only works with | |
gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions | |
as non-throwing using a function attribute since programs can use | |
the -fexceptions options for C code as well. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !defined __cplusplus \ | |
&& (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 79 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROW __attribute__ ((__nothrow__ __LEAF)) | |
# define __THROWNL __attribute__ ((__nothrow__)) | |
# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct | |
# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct | |
# else | |
# 84 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 85 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 86 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROW noexcept (true) | |
# else | |
# 88 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROW throw () | |
# endif | |
# 90 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROWNL __THROW | |
# define __NTH(fct) __LEAF_ATTR fct __THROW | |
# define __NTHNL(fct) fct __THROW | |
# else | |
# 94 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROW | |
# define __THROWNL | |
# define __NTH(fct) fct | |
# define __NTHNL(fct) fct | |
# endif | |
# 99 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# endif | |
# 100 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __COLD __attribute__ ((__cold__)) | |
# else | |
# 104 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __COLD | |
# endif | |
# 106 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#else /* Not GCC or clang. */ | |
# 108 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if (defined __cplusplus \ | |
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 111 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __inline inline | |
# else | |
# 113 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __inline /* No inline functions. */ | |
# endif | |
# 115 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __THROW | |
# define __THROWNL | |
# define __NTH(fct) fct | |
# define __COLD | |
#endif /* GCC || clang. */ | |
# 122 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* These two macros are not used in glibc anymore. They are kept here | |
only because some other projects expect the macros to be defined. */ | |
#define __P(args) args | |
#define __PMT(args) args | |
/* For these things, GCC behaves the ANSI way normally, | |
and the non-ANSI way under -traditional. */ | |
#define __CONCAT(x,y) x ## y | |
#define __STRING(x) #x | |
/* This is not a typedef so `const __ptr_t' does the right thing. */ | |
#define __ptr_t void * | |
/* C++ needs to know that types and declarations are C, not C++. */ | |
#ifdef __cplusplus | |
# define __BEGIN_DECLS extern "C" { | |
# define __END_DECLS } | |
#else | |
# 143 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __BEGIN_DECLS | |
# define __END_DECLS | |
#endif | |
# 146 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Fortify support. */ | |
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) | |
#define __bos0(ptr) __builtin_object_size (ptr, 0) | |
/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ | |
|| __GNUC_PREREQ (12, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 155 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) | |
# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) | |
#else | |
# 158 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_objsize0(__o) __bos0 (__o) | |
# define __glibc_objsize(__o) __bos (__o) | |
#endif | |
# 161 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __USE_FORTIFY_LEVEL > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 163 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Compile time conditions to choose between the regular, _chk and _chk_warn | |
variants. These conditions should get evaluated to constant and optimized | |
away. */ | |
#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) | |
#define __glibc_unsigned_or_positive(__l) \ | |
((__typeof (__l)) 0 < (__typeof (__l)) -1 \ | |
|| (__builtin_constant_p (__l) && (__l) > 0)) | |
/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ | |
condition can be folded to a constant and if it is true, or unknown (-1) */ | |
#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ | |
((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ | |
|| (__glibc_unsigned_or_positive (__l) \ | |
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ | |
(__s), (__osz))) \ | |
&& __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) | |
/* Conversely, we know at compile time that the length is unsafe if the | |
__L * __S <= __OBJSZ condition can be folded to a constant and if it is | |
false. */ | |
#define __glibc_unsafe_len(__l, __s, __osz) \ | |
(__glibc_unsigned_or_positive (__l) \ | |
&& __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ | |
__s, __osz)) \ | |
&& !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) | |
/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be | |
declared. */ | |
#define __glibc_fortify(f, __l, __s, __osz, ...) \ | |
(__glibc_safe_or_unknown_len (__l, __s, __osz) \ | |
? __ ## f ## _alias (__VA_ARGS__) \ | |
: (__glibc_unsafe_len (__l, __s, __osz) \ | |
? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ | |
: __ ## f ## _chk (__VA_ARGS__, __osz))) | |
/* Fortify function f, where object size argument passed to f is the number of | |
elements and not total size. */ | |
#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ | |
(__glibc_safe_or_unknown_len (__l, __s, __osz) \ | |
? __ ## f ## _alias (__VA_ARGS__) \ | |
: (__glibc_unsafe_len (__l, __s, __osz) \ | |
? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ | |
: __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) | |
#endif | |
# 210 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4,3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 212 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __warnattr(msg) __attribute__((__warning__ (msg))) | |
# define __errordecl(name, msg) \ | |
extern void name (void) __attribute__((__error__ (msg))) | |
#else | |
# 216 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __warnattr(msg) | |
# define __errordecl(name, msg) extern void name (void) | |
#endif | |
# 219 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Support for flexible arrays. | |
Headers that should use flexible arrays only if they're "real" | |
(e.g. only if they won't affect sizeof()) should test | |
#if __glibc_c99_flexarr_available. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 225 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __flexarr [] | |
# define __glibc_c99_flexarr_available 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __GNUC_PREREQ (2,97) || defined __clang__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 1 /* evaluated by -frewrite-includes */ | |
# 228 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* GCC 2.97 and clang support C99 flexible array members as an extension, | |
even when in C89 mode or compiling C++ (any version). */ | |
# define __flexarr [] | |
# define __glibc_c99_flexarr_available 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined __GNUC__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 233 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Pre-2.97 GCC did not support C99 flexible arrays but did have | |
an equivalent extension with slightly different notation. */ | |
# define __flexarr [0] | |
# define __glibc_c99_flexarr_available 1 | |
#else | |
# 238 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Some other non-C99 compiler. Approximate with [1]. */ | |
# define __flexarr [1] | |
# define __glibc_c99_flexarr_available 0 | |
#endif | |
# 242 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* __asm__ ("xyz") is used throughout the headers to rename functions | |
at the assembly language level. This is wrapped by the __REDIRECT | |
macro, in order to support compilers that can do this some other | |
way. When compilers don't support asm-names at all, we have to do | |
preprocessor tricks instead (which don't have exactly the right | |
semantics, but it's the best we can do). | |
Example: | |
int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 255 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) | |
# ifdef __cplusplus | |
# define __REDIRECT_NTH(name, proto, alias) \ | |
name proto __THROW __asm__ (__ASMNAME (#alias)) | |
# define __REDIRECT_NTHNL(name, proto, alias) \ | |
name proto __THROWNL __asm__ (__ASMNAME (#alias)) | |
# else | |
# 263 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __REDIRECT_NTH(name, proto, alias) \ | |
name proto __asm__ (__ASMNAME (#alias)) __THROW | |
# define __REDIRECT_NTHNL(name, proto, alias) \ | |
name proto __asm__ (__ASMNAME (#alias)) __THROWNL | |
# endif | |
# 268 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) | |
# define __ASMNAME2(prefix, cname) __STRING (prefix) cname | |
#ifndef __REDIRECT_FORTIFY | |
#define __REDIRECT_FORTIFY __REDIRECT | |
#endif | |
# 274 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifndef __REDIRECT_FORTIFY_NTH | |
#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH | |
#endif | |
# 278 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* | |
#elif __SOME_OTHER_COMPILER__ | |
# define __REDIRECT(name, proto, alias) name proto; \ | |
_Pragma("let " #name " = " #alias) | |
*/ | |
#endif | |
# 286 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* GCC and clang have various useful declarations that can be made with | |
the '__attribute__' syntax. All of the ways we use this do fine if | |
they are omitted for compilers that don't understand it. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !(defined __GNUC__ || defined __clang__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 291 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute__(xyz) /* Ignore */ | |
#endif | |
# 293 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* At some point during the gcc 2.96 development the `malloc' attribute | |
for functions was introduced. We don't want to use it unconditionally | |
(although this would be possible) since it generates warnings. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 298 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_malloc__ __attribute__ ((__malloc__)) | |
#else | |
# 300 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_malloc__ /* Ignore */ | |
#endif | |
# 302 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Tell the compiler which arguments to an allocation function | |
indicate the size of the allocation. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4, 3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 306 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_alloc_size__(params) \ | |
__attribute__ ((__alloc_size__ params)) | |
#else | |
# 309 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_alloc_size__(params) /* Ignore. */ | |
#endif | |
# 311 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Tell the compiler which argument to an allocation function | |
indicates the alignment of the allocation. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 315 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_alloc_align__(param) \ | |
__attribute__ ((__alloc_align__ param)) | |
#else | |
# 318 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_alloc_align__(param) /* Ignore. */ | |
#endif | |
# 320 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* At some point during the gcc 2.96 development the `pure' attribute | |
for functions was introduced. We don't want to use it unconditionally | |
(although this would be possible) since it generates warnings. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 325 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_pure__ __attribute__ ((__pure__)) | |
#else | |
# 327 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_pure__ /* Ignore */ | |
#endif | |
# 329 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* This declaration tells the compiler that the value is constant. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 332 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_const__ __attribute__ ((__const__)) | |
#else | |
# 334 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_const__ /* Ignore */ | |
#endif | |
# 336 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 338 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_maybe_unused__ __attribute__ ((__unused__)) | |
#else | |
# 340 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_maybe_unused__ /* Ignore */ | |
#endif | |
# 342 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* At some point during the gcc 3.1 development the `used' attribute | |
for functions was introduced. We don't want to use it unconditionally | |
(although this would be possible) since it generates warnings. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 347 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_used__ __attribute__ ((__used__)) | |
# define __attribute_noinline__ __attribute__ ((__noinline__)) | |
#else | |
# 350 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_used__ __attribute__ ((__unused__)) | |
# define __attribute_noinline__ /* Ignore */ | |
#endif | |
# 353 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Since version 3.2, gcc allows marking deprecated functions. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 356 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_deprecated__ __attribute__ ((__deprecated__)) | |
#else | |
# 358 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_deprecated__ /* Ignore */ | |
#endif | |
# 360 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Since version 4.5, gcc also allows one to specify the message printed | |
when a deprecated function is used. clang claims to be gcc 4.2, but | |
may also support this feature. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4,5) \ | |
|| __glibc_has_extension (__attribute_deprecated_with_message__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 366 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_deprecated_msg__(msg) \ | |
__attribute__ ((__deprecated__ (msg))) | |
#else | |
# 369 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ | |
#endif | |
# 371 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* At some point during the gcc 2.8 development the `format_arg' attribute | |
for functions was introduced. We don't want to use it unconditionally | |
(although this would be possible) since it generates warnings. | |
If several `format_arg' attributes are given for the same function, in | |
gcc-3.0 and older, all but the last one are ignored. In newer gccs, | |
all designated arguments are considered. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 379 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) | |
#else | |
# 381 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_format_arg__(x) /* Ignore */ | |
#endif | |
# 383 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* At some point during the gcc 2.97 development the `strfmon' format | |
attribute for functions was introduced. We don't want to use it | |
unconditionally (although this would be possible) since it | |
generates warnings. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 389 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_format_strfmon__(a,b) \ | |
__attribute__ ((__format__ (__strfmon__, a, b))) | |
#else | |
# 392 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_format_strfmon__(a,b) /* Ignore */ | |
#endif | |
# 394 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* The nonnull function attribute marks pointer parameters that | |
must not be NULL. This has the name __nonnull in glibc, | |
and __attribute_nonnull__ in files shared with Gnulib to avoid | |
collision with a different __nonnull in DragonFlyBSD 5.9. */ | |
#ifndef __attribute_nonnull__ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 401 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) | |
# else | |
# 403 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_nonnull__(params) | |
# endif | |
# 405 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 406 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifndef __nonnull | |
# define __nonnull(params) __attribute_nonnull__ (params) | |
#endif | |
# 409 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* The returns_nonnull function attribute marks the return type of the function | |
as always being non-null. */ | |
#ifndef __returns_nonnull | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 414 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __returns_nonnull __attribute__ ((__returns_nonnull__)) | |
# else | |
# 416 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __returns_nonnull | |
# endif | |
# 418 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 419 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* If fortification mode, we warn about unused results of certain | |
function calls which can lead to problems. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 423 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_warn_unused_result__ \ | |
__attribute__ ((__warn_unused_result__)) | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 426 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __wur __attribute_warn_unused_result__ | |
# endif | |
# 428 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#else | |
# 429 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_warn_unused_result__ /* empty */ | |
#endif | |
# 431 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifndef __wur | |
# define __wur /* Ignore */ | |
#endif | |
# 434 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Forces a function to be always inlined. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 437 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* The Linux kernel defines __always_inline in stddef.h (283d7573), and | |
it conflicts with this definition. Therefore undefine it first to | |
allow either header to be included first. */ | |
# undef __always_inline | |
# define __always_inline __inline __attribute__ ((__always_inline__)) | |
#else | |
# 443 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# undef __always_inline | |
# define __always_inline __inline | |
#endif | |
# 446 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Associate error messages with the source location of the call site rather | |
than with the source location inside the function. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 450 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_artificial__ __attribute__ ((__artificial__)) | |
#else | |
# 452 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_artificial__ /* Ignore */ | |
#endif | |
# 454 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 | |
inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ | |
or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions | |
older than 4.3 may define these macros and still not guarantee GNU inlining | |
semantics. | |
clang++ identifies itself as gcc-4.2, but has support for GNU inlining | |
semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and | |
__GNUC_GNU_INLINE__ macro definitions. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ | |
|| (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ | |
|| defined __GNUC_GNU_INLINE__))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 467 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 468 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) | |
# define __extern_always_inline \ | |
extern __always_inline __attribute__ ((__gnu_inline__)) | |
# else | |
# 472 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __extern_inline extern __inline | |
# define __extern_always_inline extern __always_inline | |
# endif | |
# 475 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 476 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#ifdef __extern_always_inline | |
# define __fortify_function __extern_always_inline __attribute_artificial__ | |
#endif | |
# 480 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* GCC 4.3 and above allow passing all anonymous arguments of an | |
__extern_always_inline function to some other vararg function. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4,3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 484 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __va_arg_pack() __builtin_va_arg_pack () | |
# define __va_arg_pack_len() __builtin_va_arg_pack_len () | |
#endif | |
# 487 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* It is possible to compile containing GCC extensions even if GCC is | |
run in pedantic mode if the uses are carefully marked using the | |
`__extension__' keyword. But this is not generally available before | |
version 2.8. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !(__GNUC_PREREQ (2,8) || defined __clang__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 493 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __extension__ /* Ignore */ | |
#endif | |
# 495 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* __restrict is known in EGCS 1.2 and above, and in clang. | |
It works also in C++ mode (outside of arrays), but only when spelled | |
as '__restrict', not 'restrict'. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 500 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 501 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __restrict restrict | |
# else | |
# 503 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __restrict /* Ignore */ | |
# endif | |
# 505 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 506 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is | |
array_name[restrict] | |
GCC 3.1 and clang support this. | |
This syntax is not usable in C++ mode. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 512 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __restrict_arr __restrict | |
#else | |
# 514 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# ifdef __GNUC__ | |
# define __restrict_arr /* Not supported in old GCC. */ | |
# else | |
# 517 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 518 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __restrict_arr restrict | |
# else | |
# 520 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Some other non-C99 compiler. */ | |
# define __restrict_arr /* Not supported. */ | |
# endif | |
# 523 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# endif | |
# 524 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 525 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 527 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) | |
# define __glibc_likely(cond) __builtin_expect ((cond), 1) | |
#else | |
# 530 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_unlikely(cond) (cond) | |
# define __glibc_likely(cond) (cond) | |
#endif | |
# 533 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (!defined _Noreturn \ | |
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ | |
&& !(__GNUC_PREREQ (4,7) \ | |
|| (3 < __clang_major__ + (5 <= __clang_minor__)))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 538 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (2,8) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 539 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define _Noreturn __attribute__ ((__noreturn__)) | |
# else | |
# 541 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define _Noreturn | |
# endif | |
# 543 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 544 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (8, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 546 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Describes a char array whose address can safely be passed as the first | |
argument to strncpy and strncat, as the char array is not necessarily | |
a NUL-terminated string. */ | |
# define __attribute_nonstring__ __attribute__ ((__nonstring__)) | |
#else | |
# 551 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_nonstring__ | |
#endif | |
# 553 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Undefine (also defined in libc-symbols.h). */ | |
#undef __attribute_copy__ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (9, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 557 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Copies attributes from the declaration or type referenced by | |
the argument. */ | |
# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) | |
#else | |
# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_copy__(arg) | |
#endif | |
# 563 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (!defined _Static_assert && !defined __cplusplus \ | |
&& (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ | |
&& (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ | |
|| defined __STRICT_ANSI__)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 568 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define _Static_assert(expr, diagnostic) \ | |
extern int (*__Static_assert_function (void)) \ | |
[!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] | |
#endif | |
# 572 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Gnulib avoids including these, as they don't work on non-glibc or | |
older glibc platforms. */ | |
#ifndef __GNULIB_CDEFS | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
# include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 576 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 577 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* long-double.h expanded by -frewrite-includes */ | |
# include <bits/long-double.h> | |
#else /* long-double.h expanded by -frewrite-includes */ | |
# 577 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 | |
/* Properties of long double type. ldbl-96 version. | |
Copyright (C) 2016-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* long double is distinct from double, so there is nothing to | |
define here. */ | |
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 | |
#endif /* long-double.h expanded by -frewrite-includes */ | |
# 578 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 | |
#endif | |
# 579 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 581 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# ifdef __REDIRECT | |
/* Alias name defined automatically. */ | |
# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir | |
# define __LDBL_REDIR_DECL(name) \ | |
extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); | |
# define __REDIRECT_LDBL(name, proto, alias) \ | |
name proto __asm (__ASMNAME ("__" #alias "ieee128")) | |
/* Alias name defined automatically, with leading underscores. */ | |
# define __LDBL_REDIR2_DECL(name) \ | |
extern __typeof (__##name) __##name \ | |
__asm (__ASMNAME ("__" #name "ieee128")); | |
/* Alias name defined manually. */ | |
# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1 | |
# define __LDBL_REDIR1_DECL(name, alias) \ | |
extern __typeof (name) name __asm (__ASMNAME (#alias)); | |
# define __LDBL_REDIR1_NTH(name, proto, alias) \ | |
__REDIRECT_NTH (name, proto, alias) | |
# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | |
__LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) | |
/* Unused. */ | |
# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth | |
# else | |
# 609 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); | |
# endif | |
# 611 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 612 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __LDBL_COMPAT 1 | |
# ifdef __REDIRECT | |
# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) | |
# define __LDBL_REDIR(name, proto) \ | |
__LDBL_REDIR1 (name, proto, __nldbl_##name) | |
# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) | |
# define __LDBL_REDIR_NTH(name, proto) \ | |
__LDBL_REDIR1_NTH (name, proto, __nldbl_##name) | |
# define __LDBL_REDIR2_DECL(name) \ | |
extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name)); | |
# define __LDBL_REDIR1_DECL(name, alias) \ | |
extern __typeof (name) name __asm (__ASMNAME (#alias)); | |
# define __LDBL_REDIR_DECL(name) \ | |
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); | |
# define __REDIRECT_LDBL(name, proto, alias) \ | |
__LDBL_REDIR1 (name, proto, __nldbl_##alias) | |
# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | |
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) | |
# endif | |
# 631 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 632 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ | |
|| !defined __REDIRECT | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 634 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __LDBL_REDIR1(name, proto, alias) name proto | |
# define __LDBL_REDIR(name, proto) name proto | |
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW | |
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW | |
# define __LDBL_REDIR2_DECL(name) | |
# define __LDBL_REDIR_DECL(name) | |
# ifdef __REDIRECT | |
# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) | |
# define __REDIRECT_NTH_LDBL(name, proto, alias) \ | |
__REDIRECT_NTH (name, proto, alias) | |
# endif | |
# 645 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif | |
# 646 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is | |
intended for use in preprocessor macros. | |
Note: MESSAGE must be a _single_ string; concatenation of string | |
literals is not supported. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 653 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_macro_warning1(message) _Pragma (#message) | |
# define __glibc_macro_warning(message) \ | |
__glibc_macro_warning1 (GCC warning message) | |
#else | |
# 657 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __glibc_macro_warning(msg) | |
#endif | |
# 659 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Generic selection (ISO C11) is a C-only feature, available in GCC | |
since version 4.9. Previous versions do not provide generic | |
selection, even though they might set __STDC_VERSION__ to 201112L, | |
when in -std=c11 mode. Thus, we must check for !defined __GNUC__ | |
when testing __STDC_VERSION__ for generic selection support. | |
On the other hand, Clang also defines __GNUC__, so a clang-specific | |
check is required to enable the use of generic selection. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined __cplusplus \ | |
&& (__GNUC_PREREQ (4, 9) \ | |
|| __glibc_has_extension (c_generic_selections) \ | |
|| (!defined __GNUC__ && defined __STDC_VERSION__ \ | |
&& __STDC_VERSION__ >= 201112L)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 672 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __HAVE_GENERIC_SELECTION 1 | |
#else | |
# 674 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __HAVE_GENERIC_SELECTION 0 | |
#endif | |
# 676 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (10, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 678 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Designates a 1-based positional argument ref-index of pointer type | |
that can be used to access size-index elements of the pointed-to | |
array according to access mode, or at least one element when | |
size-index is not provided: | |
access (access-mode, <ref-index> [, <size-index>]) */ | |
# define __attr_access(x) __attribute__ ((__access__ x)) | |
/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may | |
use the access attribute to get object sizes from function definition | |
arguments, so we can't use them on functions we fortify. Drop the object | |
size hints for such functions. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __USE_FORTIFY_LEVEL == 3 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 689 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) | |
# else | |
# 691 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) | |
# endif | |
# 693 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC_PREREQ (11, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 694 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) | |
# else | |
# 696 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attr_access_none(argno) | |
# endif | |
# 698 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#else | |
# 699 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __fortified_attr_access(a, o, s) | |
# define __attr_access(x) | |
# define __attr_access_none(argno) | |
#endif | |
# 703 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (11, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 705 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Designates dealloc as a function to call to deallocate objects | |
allocated by the declared function. */ | |
# define __attr_dealloc(dealloc, argno) \ | |
__attribute__ ((__malloc__ (dealloc, argno))) | |
# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) | |
#else | |
# 711 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attr_dealloc(dealloc, argno) | |
# define __attr_dealloc_free | |
#endif | |
# 714 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
/* Specify that a function such as setjmp or vfork may return | |
twice. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (4, 1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 718 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) | |
#else | |
# 720 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
# define __attribute_returns_twice__ /* Ignore. */ | |
#endif | |
# 722 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif /* sys/cdefs.h */ | |
# 724 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 | |
#endif /* cdefs.h expanded by -frewrite-includes */ | |
# 503 "/usr/include/features.h" 2 3 4 | |
# endif | |
# 504 "/usr/include/features.h" 3 4 | |
/* If we don't have __REDIRECT, prototypes will be missing if | |
__USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 508 "/usr/include/features.h" 3 4 | |
# define __USE_LARGEFILE 1 | |
# define __USE_LARGEFILE64 1 | |
# endif | |
# 511 "/usr/include/features.h" 3 4 | |
#endif /* !ASSEMBLER */ | |
# 513 "/usr/include/features.h" 3 4 | |
/* Decide whether we can define 'extern inline' functions in headers. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ | |
&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ | |
&& defined __extern_inline | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 518 "/usr/include/features.h" 3 4 | |
# define __USE_EXTERN_INLINES 1 | |
#endif | |
# 520 "/usr/include/features.h" 3 4 | |
/* This is here only because every header file already includes this one. | |
Get the definitions of all the appropriate `__stub_FUNCTION' symbols. | |
<gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub | |
that will always return failure (and set errno to ENOSYS). */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stubs.h expanded by -frewrite-includes */ | |
#include <gnu/stubs.h> | |
#else /* stubs.h expanded by -frewrite-includes */ | |
# 526 "/usr/include/features.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 | |
/* This file is automatically generated. | |
This file selects the right generated file of `__stub_FUNCTION' macros | |
based on the architecture being compiled for. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined __x86_64__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 7 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <gnu/stubs-32.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 7 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
# 8 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#endif | |
# 9 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && defined __LP64__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stubs-64.h expanded by -frewrite-includes */ | |
# include <gnu/stubs-64.h> | |
#else /* stubs-64.h expanded by -frewrite-includes */ | |
# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 | |
/* This file is automatically generated. | |
It defines a symbol `__stub_FUNCTION' for each function | |
in the C library which is a stub, meaning it will fail | |
every time called, usually setting errno to ENOSYS. */ | |
#ifdef _LIBC | |
# error Applications may not define the macro _LIBC | |
#endif | |
# 9 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 3 4 | |
#define __stub___compat_bdflush | |
#define __stub_chflags | |
#define __stub_fchflags | |
#define __stub_gtty | |
#define __stub_revoke | |
#define __stub_setlogin | |
#define __stub_sigreturn | |
#define __stub_stty | |
#endif /* stubs-64.h expanded by -frewrite-includes */ | |
# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 | |
#endif | |
# 12 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 13 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <gnu/stubs-x32.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 13 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
# 14 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#endif | |
# 15 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 | |
#endif /* stubs.h expanded by -frewrite-includes */ | |
# 527 "/usr/include/features.h" 2 3 4 | |
#endif /* features.h */ | |
# 530 "/usr/include/features.h" 3 4 | |
#endif /* features.h expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 2 3 | |
// Provide a declaration for the possibly deprecated gets function, as | |
// glibc 2.15 and later does not declare gets for ISO C11 when | |
// __GNU_SOURCE is defined. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 45 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
# undef _GLIBCXX_HAVE_GETS | |
#endif | |
# 47 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
// Glibc 2.23 removed the obsolete isinf and isnan declarations. Check the | |
// version dynamically in case it has changed since libstdc++ was configured. | |
#define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23) | |
// Glibc 2.26 on i?86/x86-64/ia64/ppc64le added *f128 support. | |
// Glibc 2.27 added it also on many other arches but those have IEEE quad | |
// long double. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_PREREQ(2, 26) \ | |
&& (defined(__i386__) || defined(__x86_64__) || defined (__ia64__) \ | |
|| (defined(__powerpc__) && defined(_ARCH_PWR8) \ | |
&& defined(__LITTLE_ENDIAN__) && (_CALL_ELF == 2) \ | |
&& defined(__FLOAT128__))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 60 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
# define _GLIBCXX_HAVE_FLOAT128_MATH 1 | |
#endif | |
# 62 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#ifdef __linux__ | |
// The following libpthread properties only apply to Linux, not GNU/Hurd. | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GLIBC_PREREQ(2, 27) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 67 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
// Since glibc 2.27 pthread_self() is usable without linking to libpthread. | |
# define _GLIBCXX_NATIVE_THREAD_ID pthread_self() | |
# else | |
# 70 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
// Before then it was in libc.so.6 but not libc.a, and always returns 0, | |
// which breaks the invariant this_thread::get_id() != thread::id{}. | |
// So only use it if we know the libpthread version is available. | |
// Otherwise use (__gthread_t)1 as the ID of the main (and only) thread. | |
# define _GLIBCXX_NATIVE_THREAD_ID \ | |
(__gthread_active_p() ? __gthread_self() : (__gthread_t)1) | |
# endif | |
# 77 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GLIBC_PREREQ(2, 34) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 79 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
// Since glibc 2.34 all pthreads functions are usable without linking to | |
// libpthread. | |
# define _GLIBCXX_GTHREAD_USE_WEAK 0 | |
# endif | |
# 83 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined(_TIME_BITS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 85 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _TIME_BITS == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 86 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
# undef _GLIBCXX_TIME_BITS64_ABI_TAG | |
# define _GLIBCXX_TIME_BITS64_ABI_TAG [[__gnu__::__abi_tag__("__time64")]] | |
# endif | |
# 89 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
# endif | |
# 90 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#endif // __linux__ | |
# 91 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#endif | |
# 93 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/os_defines.h" 3 | |
#endif /* os_defines.h expanded by -frewrite-includes */ | |
# 680 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 2 3 | |
// Pick up any CPU-specific definitions. | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cpu_defines.h expanded by -frewrite-includes */ | |
#include <bits/cpu_defines.h> | |
#else /* cpu_defines.h expanded by -frewrite-includes */ | |
# 682 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h" 1 3 | |
// Specific definitions for generic platforms -*- C++ -*- | |
// Copyright (C) 2005-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/cpu_defines.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{iosfwd} | |
*/ | |
#ifndef _GLIBCXX_CPU_DEFINES | |
#define _GLIBCXX_CPU_DEFINES 1 | |
#endif | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h" 3 | |
#endif /* cpu_defines.h expanded by -frewrite-includes */ | |
# 683 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 2 3 | |
// If platform uses neither visibility nor psuedo-visibility, | |
// specify empty default for namespace annotation macros. | |
#ifndef _GLIBCXX_PSEUDO_VISIBILITY | |
# define _GLIBCXX_PSEUDO_VISIBILITY(V) | |
#endif | |
# 689 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Certain function definitions that are meant to be overridable from | |
// user code are decorated with this macro. For some targets, this | |
// macro causes these definitions to be weak. | |
#ifndef _GLIBCXX_WEAK_DEFINITION | |
# define _GLIBCXX_WEAK_DEFINITION | |
#endif | |
# 696 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// By default, we assume that __GXX_WEAK__ also means that there is support | |
// for declaring functions as weak while not defining such functions. This | |
// allows for referring to functions provided by other libraries (e.g., | |
// libitm) without depending on them if the respective features are not used. | |
#ifndef _GLIBCXX_USE_WEAK_REF | |
# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ | |
#endif | |
# 704 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Conditionally enable annotations for the Transactional Memory TS on C++11. | |
// Most of the following conditions are due to limitations in the current | |
// implementation. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ | |
&& _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ | |
&& !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ | |
&& _GLIBCXX_USE_ALLOCATOR_NEW | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 712 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_TXN_SAFE transaction_safe | |
#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic | |
#else | |
# 715 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_TXN_SAFE | |
#define _GLIBCXX_TXN_SAFE_DYN | |
#endif | |
# 718 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 720 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// In C++17 mathematical special functions are in namespace std. | |
# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 723 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// For C++11 and C++14 they are in namespace std when requested. | |
# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 | |
#endif | |
# 726 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// The remainder of the prewritten config is automatic; all the | |
// user hooks are listed above. | |
// Create a boolean flag to be used to determine if --fast-math is set. | |
#ifdef __FAST_MATH__ | |
# define _GLIBCXX_FAST_MATH 1 | |
#else | |
# 734 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_FAST_MATH 0 | |
#endif | |
# 736 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// This marks string literals in header files to be extracted for eventual | |
// translation. It is primarily used for messages in thrown exceptions; see | |
// src/functexcept.cc. We use __N because the more traditional _N is used | |
// for something else under certain OSes (see BADNAMES). | |
#define __N(msgid) (msgid) | |
// For example, <windows.h> is known to #define min and max as macros... | |
#undef min | |
#undef max | |
// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally | |
// so they should be tested with #if not with #ifdef. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 750 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_MATH | |
# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH | |
# endif | |
# 753 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_COMPLEX | |
# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX | |
# endif | |
# 756 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_STDIO | |
# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO | |
# endif | |
# 759 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_STDLIB | |
# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB | |
# endif | |
# 762 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_WCHAR | |
# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR | |
# endif | |
# 765 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#else | |
# 766 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_MATH | |
# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH | |
# endif | |
# 769 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_COMPLEX | |
# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX | |
# endif | |
# 772 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_STDIO | |
# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO | |
# endif | |
# 775 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_STDLIB | |
# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB | |
# endif | |
# 778 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# ifndef _GLIBCXX_USE_C99_WCHAR | |
# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR | |
# endif | |
# 781 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 782 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Unless explicitly specified, enable char8_t extensions only if the core | |
// language char8_t feature macro is defined. | |
#ifndef _GLIBCXX_USE_CHAR8_T | |
# ifdef __cpp_char8_t | |
# define _GLIBCXX_USE_CHAR8_T 1 | |
# endif | |
# 789 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 790 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
# define __cpp_lib_char8_t 201907L | |
#endif | |
# 793 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* Define if __float128 is supported on this host. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 796 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* For powerpc64 don't use __float128 when it's the same type as long double. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !(defined(_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT) && defined(__LONG_DOUBLE_IEEE128__)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 798 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_USE_FLOAT128 1 | |
# endif | |
# 800 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 801 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Define if float has the IEEE binary32 format. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __FLT_MANT_DIG__ == 24 \ | |
&& __FLT_MIN_EXP__ == -125 \ | |
&& __FLT_MAX_EXP__ == 128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 806 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_FLOAT_IS_IEEE_BINARY32 1 | |
#endif | |
# 808 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Define if double has the IEEE binary64 format. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __DBL_MANT_DIG__ == 53 \ | |
&& __DBL_MIN_EXP__ == -1021 \ | |
&& __DBL_MAX_EXP__ == 1024 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 813 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1 | |
#endif | |
# 815 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Define if long double has the IEEE binary128 format. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __LDBL_MANT_DIG__ == 113 \ | |
&& __LDBL_MIN_EXP__ == -16381 \ | |
&& __LDBL_MAX_EXP__ == 16384 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 820 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_LDOUBLE_IS_IEEE_BINARY128 1 | |
#endif | |
# 822 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifdef __STDCPP_BFLOAT16_T__ | |
namespace __gnu_cxx | |
{ | |
using __bfloat16_t = decltype(0.0bf16); | |
} | |
#endif | |
# 829 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#ifdef __has_builtin | |
# ifdef __is_identifier | |
// Intel and older Clang require !__is_identifier for some built-ins: | |
# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) || ! __is_identifier(B) | |
# else | |
# 835 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) | |
# endif | |
# 837 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif | |
# 838 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAS_BUILTIN(__has_unique_object_representations) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 840 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 | |
#endif | |
# 842 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAS_BUILTIN(__is_aggregate) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 844 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 | |
#endif | |
# 846 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAS_BUILTIN(__is_same) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 848 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_BUILTIN_IS_SAME 1 | |
#endif | |
# 850 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAS_BUILTIN(__builtin_launder) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 852 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 | |
#endif | |
# 854 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#undef _GLIBCXX_HAS_BUILTIN | |
// Mark code that should be ignored by the compiler, but seen by Doxygen. | |
#define _GLIBCXX_DOXYGEN_ONLY(X) | |
// PSTL configuration | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 863 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// This header is not installed for freestanding: | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_include(<pstl/pstl_config.h>) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 865 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// Preserved here so we have some idea which version of upstream we've pulled in | |
// #define PSTL_VERSION 9000 | |
// For now this defaults to being based on the presence of Thread Building Blocks | |
# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND | |
# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>) | |
# endif | |
# 872 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
// This section will need some rework when a new (default) backend type is added | |
#if 0 /* disabled by -frewrite-includes */ | |
# if _GLIBCXX_USE_TBB_PAR_BACKEND | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 874 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _PSTL_PAR_BACKEND_TBB | |
# else | |
# 876 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _PSTL_PAR_BACKEND_SERIAL | |
# endif | |
# 878 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) | |
# define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <pstl/pstl_config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 882 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# 883 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif // __has_include | |
# 884 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif // C++17 | |
# 885 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#define _GLIBCXX_TIME_BITS64_ABI_TAG | |
// End of prewritten config; the settings discovered at configure time follow. | |
/* config.h. Generated from config.h.in by configure. */ | |
/* config.h.in. Generated from configure.ac by autoheader. */ | |
/* Define to 1 if you have the `acosf' function. */ | |
#define _GLIBCXX_HAVE_ACOSF 1 | |
/* Define to 1 if you have the `acosl' function. */ | |
#define _GLIBCXX_HAVE_ACOSL 1 | |
/* Define to 1 if you have the `aligned_alloc' function. */ | |
#define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 | |
/* Define if arc4random is available in <stdlib.h>. */ | |
#define _GLIBCXX_HAVE_ARC4RANDOM 1 | |
/* Define to 1 if you have the <arpa/inet.h> header file. */ | |
#define _GLIBCXX_HAVE_ARPA_INET_H 1 | |
/* Define to 1 if you have the `asinf' function. */ | |
#define _GLIBCXX_HAVE_ASINF 1 | |
/* Define to 1 if you have the `asinl' function. */ | |
#define _GLIBCXX_HAVE_ASINL 1 | |
/* Define to 1 if the target assembler supports .symver directive. */ | |
#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 | |
/* Define to 1 if you have the `atan2f' function. */ | |
#define _GLIBCXX_HAVE_ATAN2F 1 | |
/* Define to 1 if you have the `atan2l' function. */ | |
#define _GLIBCXX_HAVE_ATAN2L 1 | |
/* Define to 1 if you have the `atanf' function. */ | |
#define _GLIBCXX_HAVE_ATANF 1 | |
/* Define to 1 if you have the `atanl' function. */ | |
#define _GLIBCXX_HAVE_ATANL 1 | |
/* Defined if shared_ptr reference counting should use atomic operations. */ | |
#define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 | |
/* Define to 1 if you have the `at_quick_exit' function. */ | |
#define _GLIBCXX_HAVE_AT_QUICK_EXIT 1 | |
/* Define to 1 if the target assembler supports thread-local storage. */ | |
/* #undef _GLIBCXX_HAVE_CC_TLS */ | |
/* Define to 1 if you have the `ceilf' function. */ | |
#define _GLIBCXX_HAVE_CEILF 1 | |
/* Define to 1 if you have the `ceill' function. */ | |
#define _GLIBCXX_HAVE_CEILL 1 | |
/* Define to 1 if you have the <complex.h> header file. */ | |
#define _GLIBCXX_HAVE_COMPLEX_H 1 | |
/* Define to 1 if you have the `cosf' function. */ | |
#define _GLIBCXX_HAVE_COSF 1 | |
/* Define to 1 if you have the `coshf' function. */ | |
#define _GLIBCXX_HAVE_COSHF 1 | |
/* Define to 1 if you have the `coshl' function. */ | |
#define _GLIBCXX_HAVE_COSHL 1 | |
/* Define to 1 if you have the `cosl' function. */ | |
#define _GLIBCXX_HAVE_COSL 1 | |
/* Define to 1 if you have the declaration of `strnlen', and to 0 if you | |
don't. */ | |
#define _GLIBCXX_HAVE_DECL_STRNLEN 1 | |
/* Define to 1 if you have the <dirent.h> header file. */ | |
#define _GLIBCXX_HAVE_DIRENT_H 1 | |
/* Define if dirfd is available in <dirent.h>. */ | |
#define _GLIBCXX_HAVE_DIRFD 1 | |
/* Define to 1 if you have the <dlfcn.h> header file. */ | |
#define _GLIBCXX_HAVE_DLFCN_H 1 | |
/* Define to 1 if you have the <endian.h> header file. */ | |
#define _GLIBCXX_HAVE_ENDIAN_H 1 | |
/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */ | |
#define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1 | |
/* Define to 1 if you have the <execinfo.h> header file. */ | |
#define _GLIBCXX_HAVE_EXECINFO_H 1 | |
/* Define to 1 if you have the `expf' function. */ | |
#define _GLIBCXX_HAVE_EXPF 1 | |
/* Define to 1 if you have the `expl' function. */ | |
#define _GLIBCXX_HAVE_EXPL 1 | |
/* Define to 1 if you have the `fabsf' function. */ | |
#define _GLIBCXX_HAVE_FABSF 1 | |
/* Define to 1 if you have the `fabsl' function. */ | |
#define _GLIBCXX_HAVE_FABSL 1 | |
/* Define to 1 if you have the <fcntl.h> header file. */ | |
#define _GLIBCXX_HAVE_FCNTL_H 1 | |
/* Define if fdopendir is available in <dirent.h>. */ | |
#define _GLIBCXX_HAVE_FDOPENDIR 1 | |
/* Define to 1 if you have the <fenv.h> header file. */ | |
#define _GLIBCXX_HAVE_FENV_H 1 | |
/* Define to 1 if you have the `finite' function. */ | |
#define _GLIBCXX_HAVE_FINITE 1 | |
/* Define to 1 if you have the `finitef' function. */ | |
#define _GLIBCXX_HAVE_FINITEF 1 | |
/* Define to 1 if you have the `finitel' function. */ | |
#define _GLIBCXX_HAVE_FINITEL 1 | |
/* Define to 1 if you have the <float.h> header file. */ | |
#define _GLIBCXX_HAVE_FLOAT_H 1 | |
/* Define to 1 if you have the `floorf' function. */ | |
#define _GLIBCXX_HAVE_FLOORF 1 | |
/* Define to 1 if you have the `floorl' function. */ | |
#define _GLIBCXX_HAVE_FLOORL 1 | |
/* Define to 1 if you have the `fmodf' function. */ | |
#define _GLIBCXX_HAVE_FMODF 1 | |
/* Define to 1 if you have the `fmodl' function. */ | |
#define _GLIBCXX_HAVE_FMODL 1 | |
/* Define to 1 if you have the `fpclass' function. */ | |
/* #undef _GLIBCXX_HAVE_FPCLASS */ | |
/* Define to 1 if you have the <fp.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_FP_H */ | |
/* Define to 1 if you have the `frexpf' function. */ | |
#define _GLIBCXX_HAVE_FREXPF 1 | |
/* Define to 1 if you have the `frexpl' function. */ | |
#define _GLIBCXX_HAVE_FREXPL 1 | |
/* Define if getentropy is available in <unistd.h>. */ | |
#define _GLIBCXX_HAVE_GETENTROPY 1 | |
/* Define if _Unwind_GetIPInfo is available. */ | |
#define _GLIBCXX_HAVE_GETIPINFO 1 | |
/* Define if gets is available in <stdio.h> before C++14. */ | |
#define _GLIBCXX_HAVE_GETS 1 | |
/* Define to 1 if you have the `hypot' function. */ | |
#define _GLIBCXX_HAVE_HYPOT 1 | |
/* Define to 1 if you have the `hypotf' function. */ | |
#define _GLIBCXX_HAVE_HYPOTF 1 | |
/* Define to 1 if you have the `hypotl' function. */ | |
#define _GLIBCXX_HAVE_HYPOTL 1 | |
/* Define if you have the iconv() function. */ | |
#define _GLIBCXX_HAVE_ICONV 1 | |
/* Define to 1 if you have the <ieeefp.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_IEEEFP_H */ | |
/* Define to 1 if you have the <inttypes.h> header file. */ | |
#define _GLIBCXX_HAVE_INTTYPES_H 1 | |
/* Define to 1 if you have the `isinf' function. */ | |
/* #undef _GLIBCXX_HAVE_ISINF */ | |
/* Define to 1 if you have the `isinff' function. */ | |
#define _GLIBCXX_HAVE_ISINFF 1 | |
/* Define to 1 if you have the `isinfl' function. */ | |
#define _GLIBCXX_HAVE_ISINFL 1 | |
/* Define to 1 if you have the `isnan' function. */ | |
/* #undef _GLIBCXX_HAVE_ISNAN */ | |
/* Define to 1 if you have the `isnanf' function. */ | |
#define _GLIBCXX_HAVE_ISNANF 1 | |
/* Define to 1 if you have the `isnanl' function. */ | |
#define _GLIBCXX_HAVE_ISNANL 1 | |
/* Defined if iswblank exists. */ | |
#define _GLIBCXX_HAVE_ISWBLANK 1 | |
/* Define if LC_MESSAGES is available in <locale.h>. */ | |
#define _GLIBCXX_HAVE_LC_MESSAGES 1 | |
/* Define to 1 if you have the `ldexpf' function. */ | |
#define _GLIBCXX_HAVE_LDEXPF 1 | |
/* Define to 1 if you have the `ldexpl' function. */ | |
#define _GLIBCXX_HAVE_LDEXPL 1 | |
/* Define to 1 if you have the <libintl.h> header file. */ | |
#define _GLIBCXX_HAVE_LIBINTL_H 1 | |
/* Only used in build directory testsuite_hooks.h. */ | |
#define _GLIBCXX_HAVE_LIMIT_AS 1 | |
/* Only used in build directory testsuite_hooks.h. */ | |
#define _GLIBCXX_HAVE_LIMIT_DATA 1 | |
/* Only used in build directory testsuite_hooks.h. */ | |
#define _GLIBCXX_HAVE_LIMIT_FSIZE 1 | |
/* Only used in build directory testsuite_hooks.h. */ | |
#define _GLIBCXX_HAVE_LIMIT_RSS 1 | |
/* Only used in build directory testsuite_hooks.h. */ | |
#define _GLIBCXX_HAVE_LIMIT_VMEM 0 | |
/* Define if link is available in <unistd.h>. */ | |
#define _GLIBCXX_HAVE_LINK 1 | |
/* Define to 1 if you have the <link.h> header file. */ | |
#define _GLIBCXX_HAVE_LINK_H 1 | |
/* Define if futex syscall is available. */ | |
#define _GLIBCXX_HAVE_LINUX_FUTEX 1 | |
/* Define to 1 if you have the <linux/random.h> header file. */ | |
#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 | |
/* Define to 1 if you have the <linux/types.h> header file. */ | |
#define _GLIBCXX_HAVE_LINUX_TYPES_H 1 | |
/* Define to 1 if you have the <locale.h> header file. */ | |
#define _GLIBCXX_HAVE_LOCALE_H 1 | |
/* Define to 1 if you have the `log10f' function. */ | |
#define _GLIBCXX_HAVE_LOG10F 1 | |
/* Define to 1 if you have the `log10l' function. */ | |
#define _GLIBCXX_HAVE_LOG10L 1 | |
/* Define to 1 if you have the `logf' function. */ | |
#define _GLIBCXX_HAVE_LOGF 1 | |
/* Define to 1 if you have the `logl' function. */ | |
#define _GLIBCXX_HAVE_LOGL 1 | |
/* Define to 1 if you have the <machine/endian.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */ | |
/* Define to 1 if you have the <machine/param.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */ | |
/* Define if mbstate_t exists in wchar.h. */ | |
#define _GLIBCXX_HAVE_MBSTATE_T 1 | |
/* Define to 1 if you have the `memalign' function. */ | |
#define _GLIBCXX_HAVE_MEMALIGN 1 | |
/* Define to 1 if you have the <memory.h> header file. */ | |
#define _GLIBCXX_HAVE_MEMORY_H 1 | |
/* Define to 1 if you have the `modf' function. */ | |
#define _GLIBCXX_HAVE_MODF 1 | |
/* Define to 1 if you have the `modff' function. */ | |
#define _GLIBCXX_HAVE_MODFF 1 | |
/* Define to 1 if you have the `modfl' function. */ | |
#define _GLIBCXX_HAVE_MODFL 1 | |
/* Define to 1 if you have the <nan.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_NAN_H */ | |
/* Define to 1 if you have the <netdb.h> header file. */ | |
#define _GLIBCXX_HAVE_NETDB_H 1 | |
/* Define to 1 if you have the <netinet/in.h> header file. */ | |
#define _GLIBCXX_HAVE_NETINET_IN_H 1 | |
/* Define to 1 if you have the <netinet/tcp.h> header file. */ | |
#define _GLIBCXX_HAVE_NETINET_TCP_H 1 | |
/* Define if <math.h> defines obsolete isinf function. */ | |
/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */ | |
/* Define if <math.h> defines obsolete isnan function. */ | |
/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */ | |
/* Define if openat is available in <fcntl.h>. */ | |
#define _GLIBCXX_HAVE_OPENAT 1 | |
/* Define if poll is available in <poll.h>. */ | |
#define _GLIBCXX_HAVE_POLL 1 | |
/* Define to 1 if you have the <poll.h> header file. */ | |
#define _GLIBCXX_HAVE_POLL_H 1 | |
/* Define to 1 if you have the `posix_memalign' function. */ | |
#define _GLIBCXX_HAVE_POSIX_MEMALIGN 1 | |
/* Define to 1 if POSIX Semaphores with sem_timedwait are available in | |
<semaphore.h>. */ | |
#define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1 | |
/* Define to 1 if you have the `powf' function. */ | |
#define _GLIBCXX_HAVE_POWF 1 | |
/* Define to 1 if you have the `powl' function. */ | |
#define _GLIBCXX_HAVE_POWL 1 | |
/* Define to 1 if you have the `qfpclass' function. */ | |
/* #undef _GLIBCXX_HAVE_QFPCLASS */ | |
/* Define to 1 if you have the `quick_exit' function. */ | |
#define _GLIBCXX_HAVE_QUICK_EXIT 1 | |
/* Define if readlink is available in <unistd.h>. */ | |
#define _GLIBCXX_HAVE_READLINK 1 | |
/* Define to 1 if you have the `secure_getenv' function. */ | |
#define _GLIBCXX_HAVE_SECURE_GETENV 1 | |
/* Define to 1 if you have the `setenv' function. */ | |
#define _GLIBCXX_HAVE_SETENV 1 | |
/* Define to 1 if you have the `sincos' function. */ | |
#define _GLIBCXX_HAVE_SINCOS 1 | |
/* Define to 1 if you have the `sincosf' function. */ | |
#define _GLIBCXX_HAVE_SINCOSF 1 | |
/* Define to 1 if you have the `sincosl' function. */ | |
#define _GLIBCXX_HAVE_SINCOSL 1 | |
/* Define to 1 if you have the `sinf' function. */ | |
#define _GLIBCXX_HAVE_SINF 1 | |
/* Define to 1 if you have the `sinhf' function. */ | |
#define _GLIBCXX_HAVE_SINHF 1 | |
/* Define to 1 if you have the `sinhl' function. */ | |
#define _GLIBCXX_HAVE_SINHL 1 | |
/* Define to 1 if you have the `sinl' function. */ | |
#define _GLIBCXX_HAVE_SINL 1 | |
/* Defined if sleep exists. */ | |
/* #undef _GLIBCXX_HAVE_SLEEP */ | |
/* Define to 1 if you have the `sockatmark' function. */ | |
#define _GLIBCXX_HAVE_SOCKATMARK 1 | |
/* Define to 1 if you have the `sqrtf' function. */ | |
#define _GLIBCXX_HAVE_SQRTF 1 | |
/* Define to 1 if you have the `sqrtl' function. */ | |
#define _GLIBCXX_HAVE_SQRTL 1 | |
/* Define if the <stacktrace> header is supported. */ | |
#define _GLIBCXX_HAVE_STACKTRACE 1 | |
/* Define to 1 if you have the <stdalign.h> header file. */ | |
#define _GLIBCXX_HAVE_STDALIGN_H 1 | |
/* Define to 1 if you have the <stdbool.h> header file. */ | |
#define _GLIBCXX_HAVE_STDBOOL_H 1 | |
/* Define to 1 if you have the <stdint.h> header file. */ | |
#define _GLIBCXX_HAVE_STDINT_H 1 | |
/* Define to 1 if you have the <stdlib.h> header file. */ | |
#define _GLIBCXX_HAVE_STDLIB_H 1 | |
/* Define if strerror_l is available in <string.h>. */ | |
#define _GLIBCXX_HAVE_STRERROR_L 1 | |
/* Define if strerror_r is available in <string.h>. */ | |
#define _GLIBCXX_HAVE_STRERROR_R 1 | |
/* Define to 1 if you have the <strings.h> header file. */ | |
#define _GLIBCXX_HAVE_STRINGS_H 1 | |
/* Define to 1 if you have the <string.h> header file. */ | |
#define _GLIBCXX_HAVE_STRING_H 1 | |
/* Define to 1 if you have the `strtof' function. */ | |
#define _GLIBCXX_HAVE_STRTOF 1 | |
/* Define to 1 if you have the `strtold' function. */ | |
#define _GLIBCXX_HAVE_STRTOLD 1 | |
/* Define to 1 if `d_type' is a member of `struct dirent'. */ | |
#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1 | |
/* Define if strxfrm_l is available in <string.h>. */ | |
#define _GLIBCXX_HAVE_STRXFRM_L 1 | |
/* Define if symlink is available in <unistd.h>. */ | |
#define _GLIBCXX_HAVE_SYMLINK 1 | |
/* Define to 1 if the target runtime linker supports binding the same symbol | |
to different versions. */ | |
#define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 | |
/* Define to 1 if you have the <sys/filio.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ | |
/* Define to 1 if you have the <sys/ioctl.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 | |
/* Define to 1 if you have the <sys/ipc.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_IPC_H 1 | |
/* Define to 1 if you have the <sys/isa_defs.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ | |
/* Define to 1 if you have the <sys/machine.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ | |
/* Define to 1 if you have the <sys/mman.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_MMAN_H 1 | |
/* Define to 1 if you have the <sys/param.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_PARAM_H 1 | |
/* Define to 1 if you have the <sys/resource.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 | |
/* Define to 1 if you have a suitable <sys/sdt.h> header file */ | |
#define _GLIBCXX_HAVE_SYS_SDT_H 1 | |
/* Define to 1 if you have the <sys/sem.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_SEM_H 1 | |
/* Define to 1 if you have the <sys/socket.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_SOCKET_H 1 | |
/* Define to 1 if you have the <sys/statvfs.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_STATVFS_H 1 | |
/* Define to 1 if you have the <sys/stat.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_STAT_H 1 | |
/* Define to 1 if you have the <sys/sysinfo.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 | |
/* Define to 1 if you have the <sys/time.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_TIME_H 1 | |
/* Define to 1 if you have the <sys/types.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_TYPES_H 1 | |
/* Define to 1 if you have the <sys/uio.h> header file. */ | |
#define _GLIBCXX_HAVE_SYS_UIO_H 1 | |
/* Define if S_IFREG is available in <sys/stat.h>. */ | |
/* #undef _GLIBCXX_HAVE_S_IFREG */ | |
/* Define if S_ISREG is available in <sys/stat.h>. */ | |
#define _GLIBCXX_HAVE_S_ISREG 1 | |
/* Define to 1 if you have the `tanf' function. */ | |
#define _GLIBCXX_HAVE_TANF 1 | |
/* Define to 1 if you have the `tanhf' function. */ | |
#define _GLIBCXX_HAVE_TANHF 1 | |
/* Define to 1 if you have the `tanhl' function. */ | |
#define _GLIBCXX_HAVE_TANHL 1 | |
/* Define to 1 if you have the `tanl' function. */ | |
#define _GLIBCXX_HAVE_TANL 1 | |
/* Define to 1 if you have the <tgmath.h> header file. */ | |
#define _GLIBCXX_HAVE_TGMATH_H 1 | |
/* Define to 1 if you have the `timespec_get' function. */ | |
#define _GLIBCXX_HAVE_TIMESPEC_GET 1 | |
/* Define to 1 if the target supports thread-local storage. */ | |
#define _GLIBCXX_HAVE_TLS 1 | |
/* Define if truncate is available in <unistd.h>. */ | |
#define _GLIBCXX_HAVE_TRUNCATE 1 | |
/* Define to 1 if you have the <uchar.h> header file. */ | |
#define _GLIBCXX_HAVE_UCHAR_H 1 | |
/* Define to 1 if you have the <unistd.h> header file. */ | |
#define _GLIBCXX_HAVE_UNISTD_H 1 | |
/* Define if unlinkat is available in <fcntl.h>. */ | |
#define _GLIBCXX_HAVE_UNLINKAT 1 | |
/* Define to 1 if you have the `uselocale' function. */ | |
#define _GLIBCXX_HAVE_USELOCALE 1 | |
/* Defined if usleep exists. */ | |
/* #undef _GLIBCXX_HAVE_USLEEP */ | |
/* Define to 1 if you have the <utime.h> header file. */ | |
#define _GLIBCXX_HAVE_UTIME_H 1 | |
/* Defined if vfwscanf exists. */ | |
#define _GLIBCXX_HAVE_VFWSCANF 1 | |
/* Defined if vswscanf exists. */ | |
#define _GLIBCXX_HAVE_VSWSCANF 1 | |
/* Defined if vwscanf exists. */ | |
#define _GLIBCXX_HAVE_VWSCANF 1 | |
/* Define to 1 if you have the <wchar.h> header file. */ | |
#define _GLIBCXX_HAVE_WCHAR_H 1 | |
/* Defined if wcstof exists. */ | |
#define _GLIBCXX_HAVE_WCSTOF 1 | |
/* Define to 1 if you have the <wctype.h> header file. */ | |
#define _GLIBCXX_HAVE_WCTYPE_H 1 | |
/* Define to 1 if you have the <windows.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_WINDOWS_H */ | |
/* Define if writev is available in <sys/uio.h>. */ | |
#define _GLIBCXX_HAVE_WRITEV 1 | |
/* Define to 1 if you have the <xlocale.h> header file. */ | |
/* #undef _GLIBCXX_HAVE_XLOCALE_H */ | |
/* Define to 1 if you have the `_acosf' function. */ | |
/* #undef _GLIBCXX_HAVE__ACOSF */ | |
/* Define to 1 if you have the `_acosl' function. */ | |
/* #undef _GLIBCXX_HAVE__ACOSL */ | |
/* Define to 1 if you have the `_aligned_malloc' function. */ | |
/* #undef _GLIBCXX_HAVE__ALIGNED_MALLOC */ | |
/* Define to 1 if you have the `_asinf' function. */ | |
/* #undef _GLIBCXX_HAVE__ASINF */ | |
/* Define to 1 if you have the `_asinl' function. */ | |
/* #undef _GLIBCXX_HAVE__ASINL */ | |
/* Define to 1 if you have the `_atan2f' function. */ | |
/* #undef _GLIBCXX_HAVE__ATAN2F */ | |
/* Define to 1 if you have the `_atan2l' function. */ | |
/* #undef _GLIBCXX_HAVE__ATAN2L */ | |
/* Define to 1 if you have the `_atanf' function. */ | |
/* #undef _GLIBCXX_HAVE__ATANF */ | |
/* Define to 1 if you have the `_atanl' function. */ | |
/* #undef _GLIBCXX_HAVE__ATANL */ | |
/* Define to 1 if you have the `_ceilf' function. */ | |
/* #undef _GLIBCXX_HAVE__CEILF */ | |
/* Define to 1 if you have the `_ceill' function. */ | |
/* #undef _GLIBCXX_HAVE__CEILL */ | |
/* Define to 1 if you have the `_cosf' function. */ | |
/* #undef _GLIBCXX_HAVE__COSF */ | |
/* Define to 1 if you have the `_coshf' function. */ | |
/* #undef _GLIBCXX_HAVE__COSHF */ | |
/* Define to 1 if you have the `_coshl' function. */ | |
/* #undef _GLIBCXX_HAVE__COSHL */ | |
/* Define to 1 if you have the `_cosl' function. */ | |
/* #undef _GLIBCXX_HAVE__COSL */ | |
/* Define to 1 if you have the `_expf' function. */ | |
/* #undef _GLIBCXX_HAVE__EXPF */ | |
/* Define to 1 if you have the `_expl' function. */ | |
/* #undef _GLIBCXX_HAVE__EXPL */ | |
/* Define to 1 if you have the `_fabsf' function. */ | |
/* #undef _GLIBCXX_HAVE__FABSF */ | |
/* Define to 1 if you have the `_fabsl' function. */ | |
/* #undef _GLIBCXX_HAVE__FABSL */ | |
/* Define to 1 if you have the `_finite' function. */ | |
/* #undef _GLIBCXX_HAVE__FINITE */ | |
/* Define to 1 if you have the `_finitef' function. */ | |
/* #undef _GLIBCXX_HAVE__FINITEF */ | |
/* Define to 1 if you have the `_finitel' function. */ | |
/* #undef _GLIBCXX_HAVE__FINITEL */ | |
/* Define to 1 if you have the `_floorf' function. */ | |
/* #undef _GLIBCXX_HAVE__FLOORF */ | |
/* Define to 1 if you have the `_floorl' function. */ | |
/* #undef _GLIBCXX_HAVE__FLOORL */ | |
/* Define to 1 if you have the `_fmodf' function. */ | |
/* #undef _GLIBCXX_HAVE__FMODF */ | |
/* Define to 1 if you have the `_fmodl' function. */ | |
/* #undef _GLIBCXX_HAVE__FMODL */ | |
/* Define to 1 if you have the `_fpclass' function. */ | |
/* #undef _GLIBCXX_HAVE__FPCLASS */ | |
/* Define to 1 if you have the `_frexpf' function. */ | |
/* #undef _GLIBCXX_HAVE__FREXPF */ | |
/* Define to 1 if you have the `_frexpl' function. */ | |
/* #undef _GLIBCXX_HAVE__FREXPL */ | |
/* Define to 1 if you have the `_hypot' function. */ | |
/* #undef _GLIBCXX_HAVE__HYPOT */ | |
/* Define to 1 if you have the `_hypotf' function. */ | |
/* #undef _GLIBCXX_HAVE__HYPOTF */ | |
/* Define to 1 if you have the `_hypotl' function. */ | |
/* #undef _GLIBCXX_HAVE__HYPOTL */ | |
/* Define to 1 if you have the `_isinf' function. */ | |
/* #undef _GLIBCXX_HAVE__ISINF */ | |
/* Define to 1 if you have the `_isinff' function. */ | |
/* #undef _GLIBCXX_HAVE__ISINFF */ | |
/* Define to 1 if you have the `_isinfl' function. */ | |
/* #undef _GLIBCXX_HAVE__ISINFL */ | |
/* Define to 1 if you have the `_isnan' function. */ | |
/* #undef _GLIBCXX_HAVE__ISNAN */ | |
/* Define to 1 if you have the `_isnanf' function. */ | |
/* #undef _GLIBCXX_HAVE__ISNANF */ | |
/* Define to 1 if you have the `_isnanl' function. */ | |
/* #undef _GLIBCXX_HAVE__ISNANL */ | |
/* Define to 1 if you have the `_ldexpf' function. */ | |
/* #undef _GLIBCXX_HAVE__LDEXPF */ | |
/* Define to 1 if you have the `_ldexpl' function. */ | |
/* #undef _GLIBCXX_HAVE__LDEXPL */ | |
/* Define to 1 if you have the `_log10f' function. */ | |
/* #undef _GLIBCXX_HAVE__LOG10F */ | |
/* Define to 1 if you have the `_log10l' function. */ | |
/* #undef _GLIBCXX_HAVE__LOG10L */ | |
/* Define to 1 if you have the `_logf' function. */ | |
/* #undef _GLIBCXX_HAVE__LOGF */ | |
/* Define to 1 if you have the `_logl' function. */ | |
/* #undef _GLIBCXX_HAVE__LOGL */ | |
/* Define to 1 if you have the `_modf' function. */ | |
/* #undef _GLIBCXX_HAVE__MODF */ | |
/* Define to 1 if you have the `_modff' function. */ | |
/* #undef _GLIBCXX_HAVE__MODFF */ | |
/* Define to 1 if you have the `_modfl' function. */ | |
/* #undef _GLIBCXX_HAVE__MODFL */ | |
/* Define to 1 if you have the `_powf' function. */ | |
/* #undef _GLIBCXX_HAVE__POWF */ | |
/* Define to 1 if you have the `_powl' function. */ | |
/* #undef _GLIBCXX_HAVE__POWL */ | |
/* Define to 1 if you have the `_qfpclass' function. */ | |
/* #undef _GLIBCXX_HAVE__QFPCLASS */ | |
/* Define to 1 if you have the `_sincos' function. */ | |
/* #undef _GLIBCXX_HAVE__SINCOS */ | |
/* Define to 1 if you have the `_sincosf' function. */ | |
/* #undef _GLIBCXX_HAVE__SINCOSF */ | |
/* Define to 1 if you have the `_sincosl' function. */ | |
/* #undef _GLIBCXX_HAVE__SINCOSL */ | |
/* Define to 1 if you have the `_sinf' function. */ | |
/* #undef _GLIBCXX_HAVE__SINF */ | |
/* Define to 1 if you have the `_sinhf' function. */ | |
/* #undef _GLIBCXX_HAVE__SINHF */ | |
/* Define to 1 if you have the `_sinhl' function. */ | |
/* #undef _GLIBCXX_HAVE__SINHL */ | |
/* Define to 1 if you have the `_sinl' function. */ | |
/* #undef _GLIBCXX_HAVE__SINL */ | |
/* Define to 1 if you have the `_sqrtf' function. */ | |
/* #undef _GLIBCXX_HAVE__SQRTF */ | |
/* Define to 1 if you have the `_sqrtl' function. */ | |
/* #undef _GLIBCXX_HAVE__SQRTL */ | |
/* Define to 1 if you have the `_tanf' function. */ | |
/* #undef _GLIBCXX_HAVE__TANF */ | |
/* Define to 1 if you have the `_tanhf' function. */ | |
/* #undef _GLIBCXX_HAVE__TANHF */ | |
/* Define to 1 if you have the `_tanhl' function. */ | |
/* #undef _GLIBCXX_HAVE__TANHL */ | |
/* Define to 1 if you have the `_tanl' function. */ | |
/* #undef _GLIBCXX_HAVE__TANL */ | |
/* Define to 1 if you have the `_wfopen' function. */ | |
/* #undef _GLIBCXX_HAVE__WFOPEN */ | |
/* Define to 1 if you have the `__cxa_thread_atexit' function. */ | |
/* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT */ | |
/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */ | |
#define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1 | |
/* Define as const if the declaration of iconv() needs const. */ | |
#define _GLIBCXX_ICONV_CONST | |
/* Define to the sub-directory in which libtool stores uninstalled libraries. | |
*/ | |
#define _GLIBCXX_LT_OBJDIR ".libs/" | |
/* Name of package */ | |
/* #undef _GLIBCXX_PACKAGE */ | |
/* Define to the address where bug reports for this package should be sent. */ | |
#define _GLIBCXX_PACKAGE_BUGREPORT "" | |
/* Define to the full name of this package. */ | |
#define _GLIBCXX_PACKAGE_NAME "package-unused" | |
/* Define to the full name and version of this package. */ | |
#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" | |
/* Define to the one symbol short name of this package. */ | |
#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" | |
/* Define to the home page for this package. */ | |
#define _GLIBCXX_PACKAGE_URL "" | |
/* Define to the version of this package. */ | |
#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" | |
/* Define to 1 if you have the ANSI C header files. */ | |
#define _GLIBCXX_STDC_HEADERS 1 | |
/* Version number of package */ | |
/* #undef _GLIBCXX_VERSION */ | |
/* Enable large inode numbers on Mac OS X 10.5. */ | |
#ifndef _GLIBCXX_DARWIN_USE_64_BIT_INODE | |
# define _GLIBCXX_DARWIN_USE_64_BIT_INODE 1 | |
#endif | |
# 1662 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* Number of bits in a file offset, on hosts where this is settable. */ | |
/* #undef _GLIBCXX_FILE_OFFSET_BITS */ | |
/* Define if C99 functions in <complex.h> should be used in <complex> for | |
C++11. Using compiler builtins for these functions requires corresponding | |
C99 library functions to be present. */ | |
#define _GLIBCXX11_USE_C99_COMPLEX 1 | |
/* Define if C99 functions or macros in <math.h> should be imported in <cmath> | |
in namespace std for C++11. */ | |
#define _GLIBCXX11_USE_C99_MATH 1 | |
/* Define if C99 functions or macros in <stdio.h> should be imported in | |
<cstdio> in namespace std for C++11. */ | |
#define _GLIBCXX11_USE_C99_STDIO 1 | |
/* Define if C99 functions or macros in <stdlib.h> should be imported in | |
<cstdlib> in namespace std for C++11. */ | |
#define _GLIBCXX11_USE_C99_STDLIB 1 | |
/* Define if C99 functions or macros in <wchar.h> should be imported in | |
<cwchar> in namespace std for C++11. */ | |
#define _GLIBCXX11_USE_C99_WCHAR 1 | |
/* Define if C99 functions in <complex.h> should be used in <complex> for | |
C++98. Using compiler builtins for these functions requires corresponding | |
C99 library functions to be present. */ | |
#define _GLIBCXX98_USE_C99_COMPLEX 1 | |
/* Define if C99 functions or macros in <math.h> should be imported in <cmath> | |
in namespace std for C++98. */ | |
#define _GLIBCXX98_USE_C99_MATH 1 | |
/* Define if C99 functions or macros in <stdio.h> should be imported in | |
<cstdio> in namespace std for C++98. */ | |
#define _GLIBCXX98_USE_C99_STDIO 1 | |
/* Define if C99 functions or macros in <stdlib.h> should be imported in | |
<cstdlib> in namespace std for C++98. */ | |
#define _GLIBCXX98_USE_C99_STDLIB 1 | |
/* Define if C99 functions or macros in <wchar.h> should be imported in | |
<cwchar> in namespace std for C++98. */ | |
#define _GLIBCXX98_USE_C99_WCHAR 1 | |
/* Define if the compiler supports C++11 atomics. */ | |
#define _GLIBCXX_ATOMIC_BUILTINS 1 | |
/* Define if global objects can be aligned to | |
std::hardware_destructive_interference_size. */ | |
#define _GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1 | |
/* Define to use concept checking code from the boost libraries. */ | |
/* #undef _GLIBCXX_CONCEPT_CHECKS */ | |
/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable, | |
undefined for platform defaults */ | |
#define _GLIBCXX_FULLY_DYNAMIC_STRING 0 | |
/* Define if gthreads library is available. */ | |
#define _GLIBCXX_HAS_GTHREADS 1 | |
/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ | |
#define _GLIBCXX_HOSTED __STDC_HOSTED__ | |
/* Define if compatibility should be provided for alternative 128-bit long | |
double formats. */ | |
/* Define if compatibility should be provided for -mlong-double-64. */ | |
/* Define to the letter to which size_t is mangled. */ | |
#define _GLIBCXX_MANGLE_SIZE_T m | |
/* Define if C99 llrint and llround functions are missing from <math.h>. */ | |
/* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */ | |
/* Defined if no way to sleep is available. */ | |
/* #undef _GLIBCXX_NO_SLEEP */ | |
/* Define if ptrdiff_t is int. */ | |
/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ | |
/* Define if using setrlimit to set resource limits during "make check" */ | |
#define _GLIBCXX_RES_LIMITS 1 | |
/* Define if size_t is unsigned int. */ | |
/* #undef _GLIBCXX_SIZE_T_IS_UINT */ | |
/* Define if static tzdata should be compiled into the library. */ | |
#define _GLIBCXX_STATIC_TZDATA 1 | |
/* Define to the value of the EOF integer constant. */ | |
#define _GLIBCXX_STDIO_EOF -1 | |
/* Define to the value of the SEEK_CUR integer constant. */ | |
#define _GLIBCXX_STDIO_SEEK_CUR 1 | |
/* Define to the value of the SEEK_END integer constant. */ | |
#define _GLIBCXX_STDIO_SEEK_END 2 | |
/* Define to use symbol versioning in the shared library. */ | |
#define _GLIBCXX_SYMVER 1 | |
/* Define to use darwin versioning in the shared library. */ | |
/* #undef _GLIBCXX_SYMVER_DARWIN */ | |
/* Define to use GNU versioning in the shared library. */ | |
#define _GLIBCXX_SYMVER_GNU 1 | |
/* Define to use GNU namespace versioning in the shared library. */ | |
/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ | |
/* Define to use Sun versioning in the shared library. */ | |
/* #undef _GLIBCXX_SYMVER_SUN */ | |
/* Define if C11 functions in <uchar.h> should be imported into namespace std | |
in <cuchar>. */ | |
#define _GLIBCXX_USE_C11_UCHAR_CXX11 1 | |
/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>, | |
<stdio.h>, and <stdlib.h> can be used or exposed. */ | |
#define _GLIBCXX_USE_C99 1 | |
/* Define if C99 functions in <complex.h> should be used in <tr1/complex>. | |
Using compiler builtins for these functions requires corresponding C99 | |
library functions to be present. */ | |
#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 | |
/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in | |
namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_CTYPE_TR1 1 | |
/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in | |
namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_FENV_TR1 1 | |
/* Define if C99 functions in <inttypes.h> should be imported in | |
<tr1/cinttypes> in namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 | |
/* Define if wchar_t C99 functions in <inttypes.h> should be imported in | |
<tr1/cinttypes> in namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 | |
/* Define if C99 functions or macros in <math.h> should be imported in | |
<tr1/cmath> in namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_MATH_TR1 1 | |
/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in | |
namespace std::tr1. */ | |
#define _GLIBCXX_USE_C99_STDINT_TR1 1 | |
/* Define if usable chdir is available in <unistd.h>. */ | |
#define _GLIBCXX_USE_CHDIR 1 | |
/* Define if usable chmod is available in <sys/stat.h>. */ | |
#define _GLIBCXX_USE_CHMOD 1 | |
/* Defined if clock_gettime syscall has monotonic and realtime clock support. | |
*/ | |
/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */ | |
/* Defined if clock_gettime has monotonic clock support. */ | |
#define _GLIBCXX_USE_CLOCK_MONOTONIC 1 | |
/* Defined if clock_gettime has realtime clock support. */ | |
#define _GLIBCXX_USE_CLOCK_REALTIME 1 | |
/* Define if ISO/IEC TR 24733 decimal floating point types are supported on | |
this host. */ | |
#define _GLIBCXX_USE_DECIMAL_FLOAT 1 | |
/* Define if /dev/random and /dev/urandom are available for | |
std::random_device. */ | |
#define _GLIBCXX_USE_DEV_RANDOM 1 | |
/* Define if fchmod is available in <sys/stat.h>. */ | |
#define _GLIBCXX_USE_FCHMOD 1 | |
/* Define if fchmodat is available in <sys/stat.h>. */ | |
#define _GLIBCXX_USE_FCHMODAT 1 | |
/* Define if fseeko and ftello are available. */ | |
#define _GLIBCXX_USE_FSEEKO_FTELLO 1 | |
/* Define if usable getcwd is available in <unistd.h>. */ | |
#define _GLIBCXX_USE_GETCWD 1 | |
/* Defined if gettimeofday is available. */ | |
#define _GLIBCXX_USE_GETTIMEOFDAY 1 | |
/* Define if get_nprocs is available in <sys/sysinfo.h>. */ | |
#define _GLIBCXX_USE_GET_NPROCS 1 | |
/* Define if init_priority should be used for iostream initialization. */ | |
#define _GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1 | |
/* Define if LFS support is available. */ | |
#define _GLIBCXX_USE_LFS 1 | |
/* Define if code specialized for long long should be used. */ | |
#define _GLIBCXX_USE_LONG_LONG 1 | |
/* Define if lstat is available in <sys/stat.h>. */ | |
#define _GLIBCXX_USE_LSTAT 1 | |
/* Define if usable mkdir is available in <sys/stat.h>. */ | |
#define _GLIBCXX_USE_MKDIR 1 | |
/* Defined if nanosleep is available. */ | |
#define _GLIBCXX_USE_NANOSLEEP 1 | |
/* Define if NLS translations are to be used. */ | |
#define _GLIBCXX_USE_NLS 1 | |
/* Define if pthreads_num_processors_np is available in <pthread.h>. */ | |
/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */ | |
/* Define if pthread_cond_clockwait is available in <pthread.h>. */ | |
#define _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1 | |
/* Define if pthread_mutex_clocklock is available in <pthread.h>. */ | |
#define _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK 1 | |
/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are | |
available in <pthread.h>. */ | |
#define _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1 | |
/* Define if POSIX read/write locks are available in <gthr.h>. */ | |
#define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1 | |
/* Define if /dev/random and /dev/urandom are available for the random_device | |
of TR1 (Chapter 5.1). */ | |
#define _GLIBCXX_USE_RANDOM_TR1 1 | |
/* Define if usable realpath is available in <stdlib.h>. */ | |
#define _GLIBCXX_USE_REALPATH 1 | |
/* Defined if sched_yield is available. */ | |
#define _GLIBCXX_USE_SCHED_YIELD 1 | |
/* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */ | |
#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 | |
/* Define if _SC_NPROC_ONLN is available in <unistd.h>. */ | |
/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */ | |
/* Define if sendfile is available in <sys/sendfile.h>. */ | |
#define _GLIBCXX_USE_SENDFILE 1 | |
/* Define to restrict std::__basic_file<> to stdio APIs. */ | |
/* #undef _GLIBCXX_USE_STDIO_PURE */ | |
/* Define if struct stat has timespec members. */ | |
#define _GLIBCXX_USE_ST_MTIM 1 | |
/* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */ | |
/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ | |
/* Define if obsolescent tmpnam is available in <stdio.h>. */ | |
#define _GLIBCXX_USE_TMPNAM 1 | |
/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported | |
into namespace std in <cuchar> for C++20. */ | |
#define _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1 | |
/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported | |
into namespace std in <cuchar> for -fchar8_t. */ | |
#define _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1 | |
/* Define if utime is available in <utime.h>. */ | |
#define _GLIBCXX_USE_UTIME 1 | |
/* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and | |
AT_FDCWD in <fcntl.h>. */ | |
#define _GLIBCXX_USE_UTIMENSAT 1 | |
/* Define if code specialized for wchar_t should be used. */ | |
#define _GLIBCXX_USE_WCHAR_T 1 | |
/* Defined if Sleep exists. */ | |
/* #undef _GLIBCXX_USE_WIN32_SLEEP */ | |
/* Define to 1 if a verbose library is built, or 0 otherwise. */ | |
#define _GLIBCXX_VERBOSE 1 | |
/* Defined if as can handle rdrand. */ | |
#define _GLIBCXX_X86_RDRAND 1 | |
/* Defined if as can handle rdseed. */ | |
#define _GLIBCXX_X86_RDSEED 1 | |
/* Define if a directory should be searched for tzdata files. */ | |
#define _GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo" | |
/* Define to 1 if mutex_timedlock is available. */ | |
#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 | |
/* Define for large files, on AIX-style hosts. */ | |
/* #undef _GLIBCXX_LARGE_FILES */ | |
/* Define if all C++11 floating point overloads are available in <math.h>. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1966 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */ | |
#endif | |
# 1968 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* Define if all C++11 integral type overloads are available in <math.h>. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1971 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */ | |
#endif | |
# 1973 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1975 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ACOSF 1 | |
# define acosf _acosf | |
#endif | |
# 1978 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1980 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ACOSL 1 | |
# define acosl _acosl | |
#endif | |
# 1983 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1985 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ASINF 1 | |
# define asinf _asinf | |
#endif | |
# 1988 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1990 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ASINL 1 | |
# define asinl _asinl | |
#endif | |
# 1993 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1995 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ATAN2F 1 | |
# define atan2f _atan2f | |
#endif | |
# 1998 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2000 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ATAN2L 1 | |
# define atan2l _atan2l | |
#endif | |
# 2003 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2005 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ATANF 1 | |
# define atanf _atanf | |
#endif | |
# 2008 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2010 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ATANL 1 | |
# define atanl _atanl | |
#endif | |
# 2013 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2015 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_CEILF 1 | |
# define ceilf _ceilf | |
#endif | |
# 2018 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2020 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_CEILL 1 | |
# define ceill _ceill | |
#endif | |
# 2023 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2025 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_COSF 1 | |
# define cosf _cosf | |
#endif | |
# 2028 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2030 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_COSHF 1 | |
# define coshf _coshf | |
#endif | |
# 2033 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2035 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_COSHL 1 | |
# define coshl _coshl | |
#endif | |
# 2038 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2040 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_COSL 1 | |
# define cosl _cosl | |
#endif | |
# 2043 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2045 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_EXPF 1 | |
# define expf _expf | |
#endif | |
# 2048 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2050 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_EXPL 1 | |
# define expl _expl | |
#endif | |
# 2053 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2055 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FABSF 1 | |
# define fabsf _fabsf | |
#endif | |
# 2058 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2060 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FABSL 1 | |
# define fabsl _fabsl | |
#endif | |
# 2063 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2065 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FINITE 1 | |
# define finite _finite | |
#endif | |
# 2068 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2070 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FINITEF 1 | |
# define finitef _finitef | |
#endif | |
# 2073 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2075 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FINITEL 1 | |
# define finitel _finitel | |
#endif | |
# 2078 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2080 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FLOORF 1 | |
# define floorf _floorf | |
#endif | |
# 2083 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2085 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FLOORL 1 | |
# define floorl _floorl | |
#endif | |
# 2088 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2090 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FMODF 1 | |
# define fmodf _fmodf | |
#endif | |
# 2093 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2095 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FMODL 1 | |
# define fmodl _fmodl | |
#endif | |
# 2098 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2100 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FPCLASS 1 | |
# define fpclass _fpclass | |
#endif | |
# 2103 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2105 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FREXPF 1 | |
# define frexpf _frexpf | |
#endif | |
# 2108 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2110 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_FREXPL 1 | |
# define frexpl _frexpl | |
#endif | |
# 2113 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2115 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_HYPOT 1 | |
# define hypot _hypot | |
#endif | |
# 2118 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2120 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_HYPOTF 1 | |
# define hypotf _hypotf | |
#endif | |
# 2123 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2125 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_HYPOTL 1 | |
# define hypotl _hypotl | |
#endif | |
# 2128 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2130 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISINF 1 | |
# define isinf _isinf | |
#endif | |
# 2133 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2135 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISINFF 1 | |
# define isinff _isinff | |
#endif | |
# 2138 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2140 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISINFL 1 | |
# define isinfl _isinfl | |
#endif | |
# 2143 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2145 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISNAN 1 | |
# define isnan _isnan | |
#endif | |
# 2148 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2150 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISNANF 1 | |
# define isnanf _isnanf | |
#endif | |
# 2153 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2155 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_ISNANL 1 | |
# define isnanl _isnanl | |
#endif | |
# 2158 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2160 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LDEXPF 1 | |
# define ldexpf _ldexpf | |
#endif | |
# 2163 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2165 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LDEXPL 1 | |
# define ldexpl _ldexpl | |
#endif | |
# 2168 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2170 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LOG10F 1 | |
# define log10f _log10f | |
#endif | |
# 2173 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2175 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LOG10L 1 | |
# define log10l _log10l | |
#endif | |
# 2178 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2180 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LOGF 1 | |
# define logf _logf | |
#endif | |
# 2183 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2185 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_LOGL 1 | |
# define logl _logl | |
#endif | |
# 2188 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2190 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_MODF 1 | |
# define modf _modf | |
#endif | |
# 2193 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2195 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_MODFF 1 | |
# define modff _modff | |
#endif | |
# 2198 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2200 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_MODFL 1 | |
# define modfl _modfl | |
#endif | |
# 2203 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2205 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_POWF 1 | |
# define powf _powf | |
#endif | |
# 2208 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2210 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_POWL 1 | |
# define powl _powl | |
#endif | |
# 2213 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2215 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_QFPCLASS 1 | |
# define qfpclass _qfpclass | |
#endif | |
# 2218 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2220 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINCOS 1 | |
# define sincos _sincos | |
#endif | |
# 2223 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2225 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINCOSF 1 | |
# define sincosf _sincosf | |
#endif | |
# 2228 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2230 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINCOSL 1 | |
# define sincosl _sincosl | |
#endif | |
# 2233 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2235 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINF 1 | |
# define sinf _sinf | |
#endif | |
# 2238 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2240 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINHF 1 | |
# define sinhf _sinhf | |
#endif | |
# 2243 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2245 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINHL 1 | |
# define sinhl _sinhl | |
#endif | |
# 2248 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2250 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SINL 1 | |
# define sinl _sinl | |
#endif | |
# 2253 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2255 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SQRTF 1 | |
# define sqrtf _sqrtf | |
#endif | |
# 2258 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2260 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_SQRTL 1 | |
# define sqrtl _sqrtl | |
#endif | |
# 2263 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2265 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_STRTOF 1 | |
# define strtof _strtof | |
#endif | |
# 2268 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2270 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_STRTOLD 1 | |
# define strtold _strtold | |
#endif | |
# 2273 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2275 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_TANF 1 | |
# define tanf _tanf | |
#endif | |
# 2278 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2280 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_TANHF 1 | |
# define tanhf _tanhf | |
#endif | |
# 2283 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2285 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_TANHL 1 | |
# define tanhl _tanhl | |
#endif | |
# 2288 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2290 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
# define _GLIBCXX_HAVE_TANL 1 | |
# define tanl _tanl | |
#endif | |
# 2293 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif // _GLIBCXX_CXX_CONFIG_H | |
# 2295 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3 | |
#endif /* c++config.h expanded by -frewrite-includes */ | |
# 32 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 2 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !_GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 3 | |
# error "This header is not available in freestanding mode." | |
#endif | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 3 | |
#endif | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/requires_hosted.h" 3 | |
#endif /* requires_hosted.h expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 2 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 3 | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* ostream expanded by -frewrite-includes */ | |
#include <ostream> | |
#else /* ostream expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iostream" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ostream" 1 3 | |
// Output streams -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/ostream | |
* This is a Standard C++ Library header. | |
*/ | |
// | |
// ISO C++ 14882: 27.6.2 Output streams | |
// | |
#ifndef _GLIBCXX_OSTREAM | |
#define _GLIBCXX_OSTREAM 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ostream" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/requires_hosted.h> // iostreams | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ostream" 3 | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ostream" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* ios expanded by -frewrite-includes */ | |
#include <ios> | |
#else /* ios expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ostream" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 1 3 | |
// Iostreams base classes -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/ios | |
* This is a Standard C++ Library header. | |
*/ | |
// | |
// ISO C++ 14882: 27.4 Iostreams base classes | |
// | |
#ifndef _GLIBCXX_IOS | |
#define _GLIBCXX_IOS 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/requires_hosted.h> // iostreams | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* iosfwd expanded by -frewrite-includes */ | |
#include <iosfwd> | |
#else /* iosfwd expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 1 3 | |
// <iosfwd> Forward declarations -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/iosfwd | |
* This is a Standard C++ Library header. | |
*/ | |
// | |
// ISO C++ 14882: 27.2 Forward declarations | |
// | |
#ifndef _GLIBCXX_IOSFWD | |
#define _GLIBCXX_IOSFWD 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/requires_hosted.h> // iostreams | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stringfwd.h expanded by -frewrite-includes */ | |
#include <bits/stringfwd.h> // For string forward declarations. | |
#else /* stringfwd.h expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 1 3 | |
// <string> Forward declarations -*- C++ -*- | |
// Copyright (C) 2001-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/stringfwd.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{string} | |
*/ | |
// | |
// ISO C++ 14882: 21 Strings library | |
// | |
#ifndef _STRINGFWD_H | |
#define _STRINGFWD_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* memoryfwd.h expanded by -frewrite-includes */ | |
#include <bits/memoryfwd.h> | |
#else /* memoryfwd.h expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 1 3 | |
// <memory> Forward declarations -*- C++ -*- | |
// Copyright (C) 2001-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/* | |
* Copyright (c) 1996-1997 | |
* Silicon Graphics Computer Systems, Inc. | |
* | |
* Permission to use, copy, modify, distribute and sell this software | |
* and its documentation for any purpose is hereby granted without fee, | |
* provided that the above copyright notice appear in all copies and | |
* that both that copyright notice and this permission notice appear | |
* in supporting documentation. Silicon Graphics makes no | |
* representations about the suitability of this software for any | |
* purpose. It is provided "as is" without express or implied warranty. | |
*/ | |
/** @file bits/memoryfwd.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{memory} | |
*/ | |
#ifndef _MEMORYFWD_H | |
#define _MEMORYFWD_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 47 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 48 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
# 49 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
/** | |
* @defgroup allocators Allocators | |
* @ingroup memory | |
* | |
* Classes encapsulating memory operations. | |
* | |
* @{ | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 64 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
template<typename> | |
class allocator; | |
template<> | |
class allocator<void>; | |
#endif | |
# 70 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
/// Declare uses_allocator so it can be specialized in `<queue>` etc. | |
template<typename, typename> | |
struct uses_allocator; | |
template<typename> | |
struct allocator_traits; | |
#endif | |
# 79 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
/// @} group memory | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace std | |
#endif | |
# 86 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/memoryfwd.h" 3 | |
#endif /* memoryfwd.h expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 2 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
/** | |
* @defgroup strings Strings | |
* | |
* @{ | |
*/ | |
template<class _CharT> | |
struct char_traits; | |
template<> struct char_traits<char>; | |
template<> struct char_traits<wchar_t>; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
template<> struct char_traits<char8_t>; | |
#endif | |
# 62 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 64 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
template<> struct char_traits<char16_t>; | |
template<> struct char_traits<char32_t>; | |
#endif | |
# 67 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Alloc = allocator<_CharT> > | |
class basic_string; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
/// A string of @c char | |
typedef basic_string<char> string; | |
/// A string of @c wchar_t | |
typedef basic_string<wchar_t> wstring; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
/// A string of @c char8_t | |
typedef basic_string<char8_t> u8string; | |
#endif | |
# 86 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 88 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
/// A string of @c char16_t | |
typedef basic_string<char16_t> u16string; | |
/// A string of @c char32_t | |
typedef basic_string<char32_t> u32string; | |
#endif | |
# 94 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
/** @} */ | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace std | |
#endif // _STRINGFWD_H | |
# 101 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stringfwd.h" 3 | |
#endif /* stringfwd.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* postypes.h expanded by -frewrite-includes */ | |
#include <bits/postypes.h> | |
#else /* postypes.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 1 3 | |
// Position types -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/postypes.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{iosfwd} | |
*/ | |
// | |
// ISO C++ 14882: 27.4.1 - Types | |
// ISO C++ 14882: 27.4.3 - Template class fpos | |
// | |
#ifndef _GLIBCXX_POSTYPES_H | |
#define _GLIBCXX_POSTYPES_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cwchar expanded by -frewrite-includes */ | |
#include <cwchar> // For mbstate_t | |
#else /* cwchar expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 1 3 | |
// -*- C++ -*- forwarding header. | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/cwchar | |
* This is a Standard C++ Library file. You should @c \#include this file | |
* in your programs, rather than any of the @a *.h implementation files. | |
* | |
* This is the C++ version of the Standard C Library header @c wchar.h, | |
* and its contents are (mostly) the same as that header, but are all | |
* contained in the namespace @c std (except for names which are defined | |
* as macros in C). | |
*/ | |
// | |
// ISO C++ 14882: 21.4 | |
// | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCHAR_H | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wchar.h expanded by -frewrite-includes */ | |
#include <wchar.h> | |
#else /* wchar.h expanded by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# 1 "/usr/include/wchar.h" 1 3 4 | |
/* Copyright (C) 1995-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* ISO C99 Standard: 7.24 | |
* Extended multibyte and wide character utilities <wchar.h> | |
*/ | |
#ifndef _WCHAR_H | |
#define _WCHAR_H 1 | |
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* libc-header-start.h expanded by -frewrite-includes */ | |
#include <bits/libc-header-start.h> | |
#else /* libc-header-start.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 | |
/* Handle feature test macros at the start of a header. | |
Copyright (C) 2016-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* This header is internal to glibc and should not be included outside | |
of glibc headers. Headers including it must define | |
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header | |
cannot have multiple include guards because ISO C feature test | |
macros depend on the definition of the macro when an affected | |
header is included, not when the first system header is | |
included. */ | |
#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | |
# error "Never include <bits/libc-header-start.h> directly." | |
#endif | |
# 30 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ | |
macro. */ | |
#undef __GLIBC_USE_LIB_EXT2 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __USE_GNU \ | |
|| (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 40 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_LIB_EXT2 1 | |
#else | |
# 42 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_LIB_EXT2 0 | |
#endif | |
# 44 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ | |
macro. Most but not all symbols enabled by that macro in TS | |
18661-1 are enabled unconditionally in C2X. In C2X, the symbols in | |
Annex F still require a new feature test macro | |
__STDC_WANT_IEC_60559_EXT__ instead (C2X does not define | |
__STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS | |
18661-1 are not included in C2X (and thus should depend on | |
__STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are | |
enabled). | |
__GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS | |
18661-1 not included in C2X. | |
__GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS | |
18661-1 that are also included in C2X (with no feature test macro | |
required in C2X). | |
__GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1 | |
that are included in C2X but conditional on | |
__STDC_WANT_IEC_60559_EXT__. (There are currently no features | |
conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS | |
18661-1.) */ | |
#undef __GLIBC_USE_IEC_60559_BFP_EXT | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 69 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_BFP_EXT 1 | |
#else | |
# 71 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_BFP_EXT 0 | |
#endif | |
# 73 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 75 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 | |
#else | |
# 77 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0 | |
#endif | |
# 79 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
#undef __GLIBC_USE_IEC_60559_EXT | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 81 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_EXT 1 | |
#else | |
# 83 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_EXT 0 | |
#endif | |
# 85 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
/* ISO/IEC TS 18661-4:2015 defines the | |
__STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction | |
functions, the symbols from this TS are enabled unconditionally in | |
C2X. */ | |
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 | |
#else | |
# 94 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 | |
#endif | |
# 96 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 98 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 | |
#else | |
# 100 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0 | |
#endif | |
# 102 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
/* ISO/IEC TS 18661-3:2015 defines the | |
__STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ | |
#undef __GLIBC_USE_IEC_60559_TYPES_EXT | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 | |
#else | |
# 109 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 | |
#endif | |
# 111 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 | |
#endif /* libc-header-start.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/wchar.h" 2 3 4 | |
/* Gather machine dependent type support. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* floatn.h expanded by -frewrite-includes */ | |
#include <bits/floatn.h> | |
#else /* floatn.h expanded by -frewrite-includes */ | |
# 30 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 | |
/* Macros to control TS 18661-3 glibc features on x86. | |
Copyright (C) 2017-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_FLOATN_H | |
#define _BITS_FLOATN_H | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# 23 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Defined to 1 if the current compiler invocation provides a | |
floating-point type with the IEEE 754 binary128 format, and this | |
glibc includes corresponding *f128 interfaces for it. The required | |
libgcc support was added some time after the basic compiler | |
support, for x86_64 and x86. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __x86_64__ \ | |
? __GNUC_PREREQ (4, 3) \ | |
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 32 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __HAVE_FLOAT128 1 | |
#else | |
# 34 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __HAVE_FLOAT128 0 | |
#endif | |
# 36 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct | |
from the default float, double and long double types in this glibc. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 40 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __HAVE_DISTINCT_FLOAT128 1 | |
#else | |
# 42 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __HAVE_DISTINCT_FLOAT128 0 | |
#endif | |
# 44 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Defined to 1 if the current compiler invocation provides a | |
floating-point type with the right format for _Float64x, and this | |
glibc includes corresponding *f64x interfaces for it. */ | |
#define __HAVE_FLOAT64X 1 | |
/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format | |
of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has | |
the format of _Float128, which must be different from that of long | |
double. */ | |
#define __HAVE_FLOAT64X_LONG_DOUBLE 1 | |
#ifndef __ASSEMBLER__ | |
/* Defined to concatenate the literal suffix to be used with _Float128 | |
types, if __HAVE_FLOAT128 is 1. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 61 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 62 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* The literal suffix f128 exists only since GCC 7.0. */ | |
# define __f128(x) x##q | |
# else | |
# 65 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __f128(x) x##f128 | |
# endif | |
# 67 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# endif | |
# 68 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 71 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Add a typedef for older GCC compilers which don't natively support | |
_Complex _Float128. */ | |
typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); | |
# define __CFLOAT128 __cfloat128 | |
# else | |
# 77 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __CFLOAT128 _Complex _Float128 | |
# endif | |
# 79 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# endif | |
# 80 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* The remaining of this file provides support for older compilers. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 83 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* The type _Float128 exists only since GCC 7.0. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 86 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
typedef __float128 _Float128; | |
# endif | |
# 88 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 91 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) | |
# endif | |
# 93 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* Older GCC has only a subset of built-in functions for _Float128 on | |
x86, and __builtin_infq is not usable in static initializers. | |
Converting a narrower sNaN to _Float128 produces a quiet NaN, so | |
attempts to use _Float128 sNaNs will not work properly with older | |
compilers. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 100 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __builtin_copysignf128 __builtin_copysignq | |
# define __builtin_fabsf128 __builtin_fabsq | |
# define __builtin_inff128() ((_Float128) __builtin_inf ()) | |
# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x)) | |
# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x)) | |
# endif | |
# 106 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, | |
e.g.: __builtin_signbitf128, before GCC 6. However, there has never | |
been a __builtin_signbitf128 in GCC and the type-generic builtin is | |
only available since GCC 6. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (6, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# define __builtin_signbitf128 __signbitf128 | |
# endif | |
# 114 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# endif | |
# 116 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
#endif /* !__ASSEMBLER__. */ | |
# 118 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* floatn-common.h expanded by -frewrite-includes */ | |
#include <bits/floatn-common.h> | |
#else /* floatn-common.h expanded by -frewrite-includes */ | |
# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 | |
/* Macros to control TS 18661-3 glibc features where the same | |
definitions are appropriate for all platforms. | |
Copyright (C) 2017-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_FLOATN_COMMON_H | |
#define _BITS_FLOATN_COMMON_H | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* long-double.h expanded by -frewrite-includes */ | |
#include <bits/long-double.h> | |
#else /* long-double.h expanded by -frewrite-includes */ | |
# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 | |
/* Properties of long double type. ldbl-96 version. | |
Copyright (C) 2016-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* long double is distinct from double, so there is nothing to | |
define here. */ | |
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 | |
#endif /* long-double.h expanded by -frewrite-includes */ | |
# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 | |
/* This header should be included at the bottom of each bits/floatn.h. | |
It defines the following macros for each _FloatN and _FloatNx type, | |
where the same definitions, or definitions based only on the macros | |
in bits/floatn.h, are appropriate for all glibc configurations. */ | |
/* Defined to 1 if the current compiler invocation provides a | |
floating-point type with the right format for this type, and this | |
glibc includes corresponding *fN or *fNx interfaces for it. */ | |
#define __HAVE_FLOAT16 0 | |
#define __HAVE_FLOAT32 1 | |
#define __HAVE_FLOAT64 1 | |
#define __HAVE_FLOAT32X 1 | |
#define __HAVE_FLOAT128X 0 | |
/* Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the | |
type is the first with its format in the sequence of (the default | |
choices for) float, double, long double, _Float16, _Float32, | |
_Float64, _Float128, _Float32x, _Float64x, _Float128x for this | |
glibc; that is, if functions present once per floating-point format | |
rather than once per type are present for this type. | |
All configurations supported by glibc have _Float32 the same format | |
as float, _Float64 and _Float32x the same format as double, the | |
_Float64x the same format as either long double or _Float128. No | |
configurations support _Float128x or, as of GCC 7, have compiler | |
support for a type meeting the requirements for _Float128x. */ | |
#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 | |
#define __HAVE_DISTINCT_FLOAT32 0 | |
#define __HAVE_DISTINCT_FLOAT64 0 | |
#define __HAVE_DISTINCT_FLOAT32X 0 | |
#define __HAVE_DISTINCT_FLOAT64X 0 | |
#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X | |
/* Defined to 1 if the corresponding _FloatN type is not binary compatible | |
with the corresponding ISO C type in the current compilation unit as | |
opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built | |
in glibc. */ | |
#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \ | |
&& __LDBL_MANT_DIG__ != 113) | |
/* Defined to 1 if any _FloatN or _FloatNx types that are not | |
ABI-distinct are however distinct types at the C language level (so | |
for the purposes of __builtin_types_compatible_p and _Generic). */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (7, 0) && !defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 70 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __HAVE_FLOATN_NOT_TYPEDEF 1 | |
#else | |
# 72 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __HAVE_FLOATN_NOT_TYPEDEF 0 | |
#endif | |
# 74 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#ifndef __ASSEMBLER__ | |
/* Defined to concatenate the literal suffix to be used with _FloatN | |
or _FloatNx types, if __HAVE_<type> is 1. The corresponding | |
literal suffixes exist since GCC 7, for C only. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT16 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 81 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
/* No corresponding suffix available for this type. */ | |
# define __f16(x) ((_Float16) x##f) | |
# else | |
# 85 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f16(x) x##f16 | |
# endif | |
# 87 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 88 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 90 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 91 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f32(x) x##f | |
# else | |
# 93 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f32(x) x##f32 | |
# endif | |
# 95 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 96 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 98 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 99 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# ifdef __NO_LONG_DOUBLE_MATH | |
# define __f64(x) x##l | |
# else | |
# 102 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f64(x) x | |
# endif | |
# 104 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 105 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f64(x) x##f64 | |
# endif | |
# 107 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 108 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 110 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 111 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f32x(x) x | |
# else | |
# 113 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f32x(x) x##f32x | |
# endif | |
# 115 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 116 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 118 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X_LONG_DOUBLE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 120 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f64x(x) x##l | |
# else | |
# 122 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f64x(x) __f128 (x) | |
# endif | |
# 124 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 125 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f64x(x) x##f64x | |
# endif | |
# 127 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 128 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 130 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 131 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# error "_Float128X supported but no constant suffix" | |
# else | |
# 133 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __f128x(x) x##f128x | |
# endif | |
# 135 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 136 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
/* Defined to a complex type if __HAVE_<type> is 1. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT16 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 139 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 140 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); | |
# define __CFLOAT16 __cfloat16 | |
# else | |
# 143 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT16 _Complex _Float16 | |
# endif | |
# 145 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 146 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 148 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 149 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT32 _Complex float | |
# else | |
# 151 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT32 _Complex _Float32 | |
# endif | |
# 153 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 154 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 156 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 157 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# ifdef __NO_LONG_DOUBLE_MATH | |
# define __CFLOAT64 _Complex long double | |
# else | |
# 160 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT64 _Complex double | |
# endif | |
# 162 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 163 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT64 _Complex _Float64 | |
# endif | |
# 165 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 166 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 168 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 169 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT32X _Complex double | |
# else | |
# 171 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT32X _Complex _Float32x | |
# endif | |
# 173 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 174 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 176 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 177 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X_LONG_DOUBLE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 178 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT64X _Complex long double | |
# else | |
# 180 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT64X __CFLOAT128 | |
# endif | |
# 182 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 183 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT64X _Complex _Float64x | |
# endif | |
# 185 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 186 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 188 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 189 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# error "_Float128X supported but no complex type" | |
# else | |
# 191 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __CFLOAT128X _Complex _Float128x | |
# endif | |
# 193 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 194 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
/* The remaining of this file provides support for older compilers. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT16 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 197 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 199 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef float _Float16 __attribute__ ((__mode__ (__HF__))); | |
# endif | |
# 201 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 203 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ()) | |
# define __builtin_inff16() ((_Float16) __builtin_inf ()) | |
# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x)) | |
# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x)) | |
# endif | |
# 208 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 210 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 212 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 214 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef float _Float32; | |
# endif | |
# 216 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 218 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf32() (__builtin_huge_valf ()) | |
# define __builtin_inff32() (__builtin_inff ()) | |
# define __builtin_nanf32(x) (__builtin_nanf (x)) | |
# define __builtin_nansf32(x) (__builtin_nansf (x)) | |
# endif | |
# 223 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 225 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 227 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
/* If double, long double and _Float64 all have the same set of | |
values, TS 18661-3 requires the usual arithmetic conversions on | |
long double and _Float64 to produce _Float64. For this to be the | |
case when building with a compiler without a distinct _Float64 | |
type, _Float64 must be a typedef for long double, not for | |
double. */ | |
# ifdef __NO_LONG_DOUBLE_MATH | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 238 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef long double _Float64; | |
# endif | |
# 240 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 242 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf64() (__builtin_huge_vall ()) | |
# define __builtin_inff64() (__builtin_infl ()) | |
# define __builtin_nanf64(x) (__builtin_nanl (x)) | |
# define __builtin_nansf64(x) (__builtin_nansl (x)) | |
# endif | |
# 247 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 249 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 251 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef double _Float64; | |
# endif | |
# 253 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 255 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf64() (__builtin_huge_val ()) | |
# define __builtin_inff64() (__builtin_inf ()) | |
# define __builtin_nanf64(x) (__builtin_nan (x)) | |
# define __builtin_nansf64(x) (__builtin_nans (x)) | |
# endif | |
# 260 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 262 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 264 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 266 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 268 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef double _Float32x; | |
# endif | |
# 270 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 272 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf32x() (__builtin_huge_val ()) | |
# define __builtin_inff32x() (__builtin_inf ()) | |
# define __builtin_nanf32x(x) (__builtin_nan (x)) | |
# define __builtin_nansf32x(x) (__builtin_nans (x)) | |
# endif | |
# 277 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 279 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 281 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X_LONG_DOUBLE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 283 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 285 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef long double _Float64x; | |
# endif | |
# 287 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 289 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf64x() (__builtin_huge_vall ()) | |
# define __builtin_inff64x() (__builtin_infl ()) | |
# define __builtin_nanf64x(x) (__builtin_nanl (x)) | |
# define __builtin_nansf64x(x) (__builtin_nansl (x)) | |
# endif | |
# 294 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# else | |
# 296 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 298 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
typedef _Float128 _Float64x; | |
# endif | |
# 300 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 302 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf64x() (__builtin_huge_valf128 ()) | |
# define __builtin_inff64x() (__builtin_inff128 ()) | |
# define __builtin_nanf64x(x) (__builtin_nanf128 (x)) | |
# define __builtin_nansf64x(x) (__builtin_nansf128 (x)) | |
# endif | |
# 307 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 309 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 311 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 313 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 315 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# error "_Float128x supported but no type" | |
# endif | |
# 317 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GNUC_PREREQ (7, 0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 319 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ()) | |
# define __builtin_inff128x() ((_Float128x) __builtin_inf ()) | |
# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x)) | |
# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x)) | |
# endif | |
# 324 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
# endif | |
# 326 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#endif /* !__ASSEMBLER__. */ | |
# 328 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#endif /* _BITS_FLOATN_COMMON_H */ | |
# 330 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 | |
#endif /* floatn-common.h expanded by -frewrite-includes */ | |
# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 | |
#endif /* _BITS_FLOATN_H */ | |
# 122 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 | |
#endif /* floatn.h expanded by -frewrite-includes */ | |
# 31 "/usr/include/wchar.h" 2 3 4 | |
#define __need_size_t | |
#define __need_wchar_t | |
#define __need_NULL | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stddef.h expanded by -frewrite-includes */ | |
#include <stddef.h> | |
#else /* stddef.h expanded by -frewrite-includes */ | |
# 35 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 1 3 4 | |
/*===---- stddef.h - Basic type definitions --------------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stddef.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stddef.h | |
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stddef.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *` | |
* wouldn't export any stddef interfaces as expected. However, since stddef.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDDEF_H) || __has_feature(modules) || \ | |
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \ | |
defined(__need_ptrdiff_t) || defined(__need_size_t) || \ | |
defined(__need_rsize_t) || defined(__need_wchar_t) || \ | |
defined(__need_NULL) || defined(__need_nullptr_t) || \ | |
defined(__need_unreachable) || defined(__need_max_align_t) || \ | |
defined(__need_offsetof) || defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | |
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | |
!defined(__need_NULL) && !defined(__need_nullptr_t) && \ | |
!defined(__need_unreachable) && !defined(__need_max_align_t) && \ | |
!defined(__need_offsetof) && !defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __STDDEF_H | |
#define __need_ptrdiff_t | |
#define __need_size_t | |
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | |
* enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_rsize_t | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_wchar_t | |
#define __need_NULL | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | |
defined(__cplusplus) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_nullptr_t | |
#endif | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 59 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_unreachable | |
#endif | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_max_align_t | |
#endif | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_offsetof | |
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | |
* for compatibility, but must be explicitly requested. Therefore | |
* __need_wint_t is intentionally not defined here. */ | |
#endif | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_ptrdiff_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_ptrdiff_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_ptrdiff_t | |
#endif /* defined(__need_ptrdiff_t) */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_size_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_size_t.h expanded by -frewrite-includes */ | |
#include <__stddef_size_t.h> | |
#else /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 1 3 4 | |
/*===---- __stddef_size_t.h - Definition of size_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_SIZE_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#define _SIZE_T | |
typedef __SIZE_TYPE__ size_t; | |
#endif | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#endif /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_size_t | |
#endif /*defined(__need_size_t) */ | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_rsize_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_rsize_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 83 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_rsize_t | |
#endif /* defined(__need_rsize_t) */ | |
# 85 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wchar_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
#include <__stddef_wchar_t.h> | |
#else /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 1 3 4 | |
/*===---- __stddef_wchar.h - Definition of wchar_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 4 | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_WCHAR_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 18 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 4 | |
#define _WCHAR_T | |
#ifdef _MSC_EXTENSIONS | |
#define _WCHAR_T_DEFINED | |
#endif | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 4 | |
typedef __WCHAR_TYPE__ wchar_t; | |
#endif | |
# 27 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 4 | |
#endif | |
# 29 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 4 | |
#endif /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
# 88 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_wchar_t | |
#endif /* defined(__need_wchar_t) */ | |
# 90 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_NULL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_null.h expanded by -frewrite-includes */ | |
#include <__stddef_null.h> | |
#else /* __stddef_null.h expanded by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 1 3 4 | |
/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(NULL) || !__building_module(_Builtin_stddef) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | |
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | |
* Modules don't support redefining macros like that, but support that pattern | |
* in the non-modules case. | |
*/ | |
#undef NULL | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__MINGW32__) && !defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL __null | |
#else | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL 0 | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#else | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL ((void*)0) | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif /* __stddef_null.h expanded by -frewrite-includes */ | |
# 93 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_NULL | |
#endif /* defined(__need_NULL) */ | |
# 95 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_nullptr_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_nullptr_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 98 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_nullptr_t | |
#endif /* defined(__need_nullptr_t) */ | |
# 100 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_unreachable) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_unreachable.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 103 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_unreachable | |
#endif /* defined(__need_unreachable) */ | |
# 105 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_max_align_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_max_align_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 108 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_max_align_t | |
#endif /* defined(__need_max_align_t) */ | |
# 110 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_offsetof) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_offsetof.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 113 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_offsetof | |
#endif /* defined(__need_offsetof) */ | |
# 115 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | |
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wint_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 120 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wint_t | |
#endif /* __need_wint_t */ | |
# 122 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif | |
# 124 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif /* stddef.h expanded by -frewrite-includes */ | |
# 36 "/usr/include/wchar.h" 2 3 4 | |
#define __need___va_list | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stdarg.h expanded by -frewrite-includes */ | |
#include <stdarg.h> | |
#else /* stdarg.h expanded by -frewrite-includes */ | |
# 38 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 1 3 4 | |
/*===---- stdarg.h - Variable argument handling ----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stdarg.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stdarg.h | |
* When SM.A builds, __STDARG_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stdarg.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stdarg modules, and SM.B's `export *` | |
* wouldn't export any stdarg interfaces as expected. However, since stdarg.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDARG_H) || __has_feature(modules) || \ | |
defined(__need___va_list) || defined(__need_va_list) || \ | |
defined(__need_va_arg) || defined(__need___va_copy) || \ | |
defined(__need_va_copy) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 35 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need___va_list) && !defined(__need_va_list) && \ | |
!defined(__need_va_arg) && !defined(__need___va_copy) && \ | |
!defined(__need_va_copy) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 39 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#define __STDARG_H | |
#define __need___va_list | |
#define __need_va_list | |
#define __need_va_arg | |
#define __need___va_copy | |
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode | |
* or -ansi is not specified, since it was not part of C90. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) || \ | |
!defined(__STRICT_ANSI__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#define __need_va_copy | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#endif | |
# 53 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#ifdef __need___va_list | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stdarg___gnuc_va_list.h expanded by -frewrite-includes */ | |
#include <__stdarg___gnuc_va_list.h> | |
#else /* __stdarg___gnuc_va_list.h expanded by -frewrite-includes */ | |
# 55 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stdarg___gnuc_va_list.h" 1 3 4 | |
/*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#ifndef __GNUC_VA_LIST | |
#define __GNUC_VA_LIST | |
typedef __builtin_va_list __gnuc_va_list; | |
#endif | |
# 14 "/usr/lib/llvm-18/lib/clang/18/include/__stdarg___gnuc_va_list.h" 3 4 | |
#endif /* __stdarg___gnuc_va_list.h expanded by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 2 3 4 | |
#undef __need___va_list | |
#endif /* defined(__need___va_list) */ | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#ifdef __need_va_list | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stdarg_va_list.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 60 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#undef __need_va_list | |
#endif /* defined(__need_va_list) */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#ifdef __need_va_arg | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stdarg_va_arg.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
# 66 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#undef __need_va_arg | |
#endif /* defined(__need_va_arg) */ | |
# 68 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#ifdef __need___va_copy | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stdarg___va_copy.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
# 71 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#undef __need___va_copy | |
#endif /* defined(__need___va_copy) */ | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#ifdef __need_va_copy | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stdarg_va_copy.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
# 76 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#undef __need_va_copy | |
#endif /* defined(__need_va_copy) */ | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#endif | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stdarg.h" 3 4 | |
#endif /* stdarg.h expanded by -frewrite-includes */ | |
# 39 "/usr/include/wchar.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_XOPEN2K || defined __USE_XOPEN2K8 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 41 "/usr/include/wchar.h" 3 4 | |
# ifdef __GNUC__ | |
# ifndef _VA_LIST_DEFINED | |
typedef __gnuc_va_list va_list; | |
# define _VA_LIST_DEFINED | |
# endif | |
# 46 "/usr/include/wchar.h" 3 4 | |
# else | |
# 47 "/usr/include/wchar.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <stdarg.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 47 "/usr/include/wchar.h" 3 4 | |
# 48 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 49 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 50 "/usr/include/wchar.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wchar.h expanded by -frewrite-includes */ | |
#include <bits/wchar.h> | |
#else /* wchar.h expanded by -frewrite-includes */ | |
# 51 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 1 3 4 | |
/* wchar_t type related definitions. | |
Copyright (C) 2000-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_WCHAR_H | |
#define _BITS_WCHAR_H 1 | |
/* The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ | |
are not defined, give the right value and type as long as both int | |
and wchar_t are 32-bit types. Adding L'\0' to a constant value | |
ensures that the type is correct; it is necessary to use (L'\0' + | |
0) rather than just L'\0' so that the type in C++ is the promoted | |
version of wchar_t rather than the distinct wchar_t type itself. | |
Because wchar_t in preprocessor #if expressions is treated as | |
intmax_t or uintmax_t, the expression (L'\0' - 1) would have the | |
wrong value for WCHAR_MAX in such expressions and so cannot be used | |
to define __WCHAR_MAX in the unsigned case. */ | |
#ifdef __WCHAR_MAX__ | |
# define __WCHAR_MAX __WCHAR_MAX__ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif L'\0' - 1 > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 36 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
# define __WCHAR_MAX (0xffffffffu + L'\0') | |
#else | |
# 38 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
# define __WCHAR_MAX (0x7fffffff + L'\0') | |
#endif | |
# 40 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
#ifdef __WCHAR_MIN__ | |
# define __WCHAR_MIN __WCHAR_MIN__ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif L'\0' - 1 > 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
# define __WCHAR_MIN (L'\0' + 0) | |
#else | |
# 46 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
# define __WCHAR_MIN (-__WCHAR_MAX - 1) | |
#endif | |
# 48 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
#endif /* bits/wchar.h */ | |
# 50 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 3 4 | |
#endif /* wchar.h expanded by -frewrite-includes */ | |
# 52 "/usr/include/wchar.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wint_t.h expanded by -frewrite-includes */ | |
#include <bits/types/wint_t.h> | |
#else /* wint_t.h expanded by -frewrite-includes */ | |
# 52 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 1 3 4 | |
#ifndef __wint_t_defined | |
#define __wint_t_defined 1 | |
/* Some versions of stddef.h provide wint_t, even though neither the | |
C nor C++ standards, nor POSIX, specifies this. We assume that | |
stddef.h will define the macro _WINT_T if and only if it provides | |
wint_t, and conversely, that it will avoid providing wint_t if | |
_WINT_T is already defined. */ | |
#ifndef _WINT_T | |
#define _WINT_T 1 | |
/* Integral type unchanged by default argument promotions that can | |
hold any value corresponding to members of the extended character | |
set, as well as at least one value that does not correspond to any | |
member of the extended character set. */ | |
#ifndef __WINT_TYPE__ | |
# define __WINT_TYPE__ unsigned int | |
#endif | |
# 19 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 3 4 | |
typedef __WINT_TYPE__ wint_t; | |
#endif /* _WINT_T */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 3 4 | |
#endif /* bits/types/wint_t.h */ | |
# 24 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 3 4 | |
#endif /* wint_t.h expanded by -frewrite-includes */ | |
# 53 "/usr/include/wchar.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* mbstate_t.h expanded by -frewrite-includes */ | |
#include <bits/types/mbstate_t.h> | |
#else /* mbstate_t.h expanded by -frewrite-includes */ | |
# 53 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 1 3 4 | |
#ifndef __mbstate_t_defined | |
#define __mbstate_t_defined 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __mbstate_t.h expanded by -frewrite-includes */ | |
#include <bits/types/__mbstate_t.h> | |
#else /* __mbstate_t.h expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 | |
#ifndef ____mbstate_t_defined | |
#define ____mbstate_t_defined 1 | |
/* Integral type unchanged by default argument promotions that can | |
hold any value corresponding to members of the extended character | |
set, as well as at least one value that does not correspond to any | |
member of the extended character set. */ | |
#ifndef __WINT_TYPE__ | |
# define __WINT_TYPE__ unsigned int | |
#endif | |
# 11 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 | |
/* Conversion state information. */ | |
typedef struct | |
{ | |
int __count; | |
union | |
{ | |
__WINT_TYPE__ __wch; | |
char __wchb[4]; | |
} __value; /* Value so far. */ | |
} __mbstate_t; | |
#endif | |
# 24 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 | |
#endif /* __mbstate_t.h expanded by -frewrite-includes */ | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 2 3 4 | |
typedef __mbstate_t mbstate_t; | |
#endif | |
# 9 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 3 4 | |
#endif /* mbstate_t.h expanded by -frewrite-includes */ | |
# 54 "/usr/include/wchar.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __FILE.h expanded by -frewrite-includes */ | |
#include <bits/types/__FILE.h> | |
#else /* __FILE.h expanded by -frewrite-includes */ | |
# 54 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 | |
#ifndef ____FILE_defined | |
#define ____FILE_defined 1 | |
struct _IO_FILE; | |
typedef struct _IO_FILE __FILE; | |
#endif | |
# 8 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 3 4 | |
#endif /* __FILE.h expanded by -frewrite-includes */ | |
# 55 "/usr/include/wchar.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_UNIX98 || defined __USE_XOPEN2K | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 57 "/usr/include/wchar.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* FILE.h expanded by -frewrite-includes */ | |
# include <bits/types/FILE.h> | |
#else /* FILE.h expanded by -frewrite-includes */ | |
# 57 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 | |
#ifndef __FILE_defined | |
#define __FILE_defined 1 | |
struct _IO_FILE; | |
/* The opaque type of streams. This is the definition used elsewhere. */ | |
typedef struct _IO_FILE FILE; | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 3 4 | |
#endif /* FILE.h expanded by -frewrite-includes */ | |
# 58 "/usr/include/wchar.h" 2 3 4 | |
#endif | |
# 59 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* locale_t.h expanded by -frewrite-includes */ | |
# include <bits/types/locale_t.h> | |
#else /* locale_t.h expanded by -frewrite-includes */ | |
# 60 "/usr/include/wchar.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 | |
/* Definition of locale_t. | |
Copyright (C) 2017-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TYPES_LOCALE_T_H | |
#define _BITS_TYPES_LOCALE_T_H 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __locale_t.h expanded by -frewrite-includes */ | |
#include <bits/types/__locale_t.h> | |
#else /* __locale_t.h expanded by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 | |
/* Definition of struct __locale_struct and __locale_t. | |
Copyright (C) 1997-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TYPES___LOCALE_T_H | |
#define _BITS_TYPES___LOCALE_T_H 1 | |
/* POSIX.1-2008: the locale_t type, representing a locale context | |
(implementation-namespace version). This type should be treated | |
as opaque by applications; some details are exposed for the sake of | |
efficiency in e.g. ctype functions. */ | |
struct __locale_struct | |
{ | |
/* Note: LC_ALL is not a valid index into this array. */ | |
struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */ | |
/* To increase the speed of this solution we add some special members. */ | |
const unsigned short int *__ctype_b; | |
const int *__ctype_tolower; | |
const int *__ctype_toupper; | |
/* Note: LC_ALL is not a valid index into this array. */ | |
const char *__names[13]; | |
}; | |
typedef struct __locale_struct *__locale_t; | |
#endif /* bits/types/__locale_t.h */ | |
# 44 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 | |
#endif /* __locale_t.h expanded by -frewrite-includes */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 | |
typedef __locale_t locale_t; | |
#endif /* bits/types/locale_t.h */ | |
# 27 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 | |
#endif /* locale_t.h expanded by -frewrite-includes */ | |
# 61 "/usr/include/wchar.h" 2 3 4 | |
#endif | |
# 62 "/usr/include/wchar.h" 3 4 | |
/* Tell the caller that we provide correct C++ prototypes. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __cplusplus && __GNUC_PREREQ (4, 4) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 65 "/usr/include/wchar.h" 3 4 | |
# define __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
#endif | |
# 67 "/usr/include/wchar.h" 3 4 | |
#ifndef WCHAR_MIN | |
/* These constants might also be defined in <inttypes.h>. */ | |
# define WCHAR_MIN __WCHAR_MIN | |
# define WCHAR_MAX __WCHAR_MAX | |
#endif | |
# 73 "/usr/include/wchar.h" 3 4 | |
#ifndef WEOF | |
# define WEOF (0xffffffffu) | |
#endif | |
# 77 "/usr/include/wchar.h" 3 4 | |
/* All versions of XPG prior to the publication of ISO C99 required | |
the bulk of <wctype.h>'s declarations to appear in this header | |
(because <wctype.h> did not exist prior to C99). In POSIX.1-2001 | |
those declarations were marked as XSI extensions; in -2008 they | |
were additionally marked as obsolescent. _GNU_SOURCE mode | |
anticipates the removal of these declarations in the next revision | |
of POSIX. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined __USE_XOPEN && !defined __USE_GNU \ | |
&& !(defined __USE_XOPEN2K && !defined __USE_XOPEN2KXSI)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/include/wchar.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/wctype-wchar.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 87 "/usr/include/wchar.h" 3 4 | |
# 88 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 89 "/usr/include/wchar.h" 3 4 | |
__BEGIN_DECLS | |
/* This incomplete type is defined in <time.h> but needed here because | |
of `wcsftime'. */ | |
struct tm; | |
/* Copy SRC to DEST. */ | |
extern wchar_t *wcscpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) | |
__THROW __nonnull ((1, 2)); | |
/* Copy no more than N wide-characters of SRC to DEST. */ | |
extern wchar_t *wcsncpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
__THROW __nonnull ((1, 2)); | |
#ifdef __USE_MISC | |
/* Copy at most N - 1 characters from SRC to DEST. */ | |
extern size_t wcslcpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
__THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); | |
/* Append SRC to DEST, possibly with truncation to keep the total size | |
below N. */ | |
extern size_t wcslcat (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
__THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); | |
#endif | |
# 119 "/usr/include/wchar.h" 3 4 | |
/* Append SRC onto DEST. */ | |
extern wchar_t *wcscat (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) | |
__THROW __nonnull ((1, 2)); | |
/* Append no more than N wide-characters of SRC onto DEST. */ | |
extern wchar_t *wcsncat (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
__THROW __nonnull ((1, 2)); | |
/* Compare S1 and S2. */ | |
extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) | |
__THROW __attribute_pure__ __nonnull ((1, 2)); | |
/* Compare N wide-characters of S1 and S2. */ | |
extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
__THROW __attribute_pure__ __nonnull ((1, 2)); | |
#ifdef __USE_XOPEN2K8 | |
/* Compare S1 and S2, ignoring case. */ | |
extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW; | |
/* Compare no more than N chars of S1 and S2, ignoring case. */ | |
extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, | |
size_t __n) __THROW; | |
/* Similar to the two functions above but take the information from | |
the provided locale and not the global locale. */ | |
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, | |
locale_t __loc) __THROW; | |
extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, | |
size_t __n, locale_t __loc) __THROW; | |
#endif | |
# 152 "/usr/include/wchar.h" 3 4 | |
/* Compare S1 and S2, both interpreted as appropriate to the | |
LC_COLLATE category of the current locale. */ | |
extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW; | |
/* Transform S2 into array pointed to by S1 such that if wcscmp is | |
applied to two transformed strings the result is the as applying | |
`wcscoll' to the original strings. */ | |
extern size_t wcsxfrm (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) __THROW; | |
#ifdef __USE_XOPEN2K8 | |
/* Similar to the two functions above but take the information from | |
the provided locale and not the global locale. */ | |
/* Compare S1 and S2, both interpreted as appropriate to the | |
LC_COLLATE category of the given locale. */ | |
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, | |
locale_t __loc) __THROW; | |
/* Transform S2 into array pointed to by S1 such that if wcscmp is | |
applied to two transformed strings the result is the as applying | |
`wcscoll' to the original strings. */ | |
extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, | |
size_t __n, locale_t __loc) __THROW; | |
/* Duplicate S, returning an identical malloc'd string. */ | |
extern wchar_t *wcsdup (const wchar_t *__s) __THROW | |
__attribute_malloc__ __attr_dealloc_free; | |
#endif | |
# 181 "/usr/include/wchar.h" 3 4 | |
/* Find the first occurrence of WC in WCS. */ | |
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) | |
__THROW __asm ("wcschr") __attribute_pure__; | |
extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) | |
__THROW __asm ("wcschr") __attribute_pure__; | |
#else | |
# 189 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) | |
__THROW __attribute_pure__; | |
#endif | |
# 192 "/usr/include/wchar.h" 3 4 | |
/* Find the last occurrence of WC in WCS. */ | |
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) | |
__THROW __asm ("wcsrchr") __attribute_pure__; | |
extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) | |
__THROW __asm ("wcsrchr") __attribute_pure__; | |
#else | |
# 199 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) | |
__THROW __attribute_pure__; | |
#endif | |
# 202 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_GNU | |
/* This function is similar to `wcschr'. But it returns a pointer to | |
the closing NUL wide character in case C is not found in S. */ | |
extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) | |
__THROW __attribute_pure__; | |
#endif | |
# 209 "/usr/include/wchar.h" 3 4 | |
/* Return the length of the initial segmet of WCS which | |
consists entirely of wide characters not in REJECT. */ | |
extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) | |
__THROW __attribute_pure__; | |
/* Return the length of the initial segmet of WCS which | |
consists entirely of wide characters in ACCEPT. */ | |
extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) | |
__THROW __attribute_pure__; | |
/* Find the first occurrence in WCS of any character in ACCEPT. */ | |
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) | |
__THROW __asm ("wcspbrk") __attribute_pure__; | |
extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, | |
const wchar_t *__accept) | |
__THROW __asm ("wcspbrk") __attribute_pure__; | |
#else | |
# 226 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) | |
__THROW __attribute_pure__; | |
#endif | |
# 229 "/usr/include/wchar.h" 3 4 | |
/* Find the first occurrence of NEEDLE in HAYSTACK. */ | |
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) | |
__THROW __asm ("wcsstr") __attribute_pure__; | |
extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, | |
const wchar_t *__needle) | |
__THROW __asm ("wcsstr") __attribute_pure__; | |
#else | |
# 237 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) | |
__THROW __attribute_pure__; | |
#endif | |
# 240 "/usr/include/wchar.h" 3 4 | |
/* Divide WCS into tokens separated by characters in DELIM. */ | |
extern wchar_t *wcstok (wchar_t *__restrict __s, | |
const wchar_t *__restrict __delim, | |
wchar_t **__restrict __ptr) __THROW; | |
/* Return the number of wide characters in S. */ | |
extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__; | |
#ifdef __USE_XOPEN | |
/* Another name for `wcsstr' from XPG4. */ | |
# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) | |
__THROW __asm ("wcswcs") __attribute_pure__; | |
extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, | |
const wchar_t *__needle) | |
__THROW __asm ("wcswcs") __attribute_pure__; | |
# else | |
# 258 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) | |
__THROW __attribute_pure__; | |
# endif | |
# 261 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 262 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
/* Return the number of wide characters in S, but at most MAXLEN. */ | |
extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) | |
__THROW __attribute_pure__; | |
#endif | |
# 268 "/usr/include/wchar.h" 3 4 | |
/* Search N wide characters of S for C. */ | |
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) | |
__THROW __asm ("wmemchr") __attribute_pure__; | |
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, | |
size_t __n) | |
__THROW __asm ("wmemchr") __attribute_pure__; | |
#else | |
# 278 "/usr/include/wchar.h" 3 4 | |
extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) | |
__THROW __attribute_pure__; | |
#endif | |
# 281 "/usr/include/wchar.h" 3 4 | |
/* Compare N wide characters of S1 and S2. */ | |
extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
__THROW __attribute_pure__; | |
/* Copy N wide characters of SRC to DEST. */ | |
extern wchar_t *wmemcpy (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) __THROW; | |
/* Copy N wide characters of SRC to DEST, guaranteeing | |
correct behavior for overlapping strings. */ | |
extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) | |
__THROW; | |
/* Set N wide characters of S to C. */ | |
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW; | |
#ifdef __USE_GNU | |
/* Copy N wide characters of SRC to DEST and return pointer to following | |
wide character. */ | |
extern wchar_t *wmempcpy (wchar_t *__restrict __s1, | |
const wchar_t *__restrict __s2, size_t __n) | |
__THROW; | |
#endif | |
# 305 "/usr/include/wchar.h" 3 4 | |
/* Determine whether C constitutes a valid (one-byte) multibyte | |
character. */ | |
extern wint_t btowc (int __c) __THROW; | |
/* Determine whether C corresponds to a member of the extended | |
character set whose multibyte representation is a single byte. */ | |
extern int wctob (wint_t __c) __THROW; | |
/* Determine whether PS points to an object representing the initial | |
state. */ | |
extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__; | |
/* Write wide character representation of multibyte character pointed | |
to by S to PWC. */ | |
extern size_t mbrtowc (wchar_t *__restrict __pwc, | |
const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __p) __THROW; | |
/* Write multibyte representation of wide character WC to S. */ | |
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, | |
mbstate_t *__restrict __ps) __THROW; | |
/* Return number of bytes in multibyte character pointed to by S. */ | |
extern size_t __mbrlen (const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __ps) __THROW; | |
extern size_t mbrlen (const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __ps) __THROW; | |
#ifdef __USE_EXTERN_INLINES | |
/* Define inline function as optimization. */ | |
/* We can use the BTOWC and WCTOB optimizations since we know that all | |
locales must use ASCII encoding for the values in the ASCII range | |
and because the wchar_t encoding is always ISO 10646. */ | |
extern wint_t __btowc_alias (int __c) __asm ("btowc"); | |
__extern_inline wint_t | |
__NTH (btowc (int __c)) | |
{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' | |
? (wint_t) __c : __btowc_alias (__c)); } | |
extern int __wctob_alias (wint_t __c) __asm ("wctob"); | |
__extern_inline int | |
__NTH (wctob (wint_t __wc)) | |
{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' | |
? (int) __wc : __wctob_alias (__wc)); } | |
__extern_inline size_t | |
__NTH (mbrlen (const char *__restrict __s, size_t __n, | |
mbstate_t *__restrict __ps)) | |
{ return (__ps != NULL | |
? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); } | |
#endif | |
# 359 "/usr/include/wchar.h" 3 4 | |
/* Write wide character representation of multibyte character string | |
SRC to DST. */ | |
extern size_t mbsrtowcs (wchar_t *__restrict __dst, | |
const char **__restrict __src, size_t __len, | |
mbstate_t *__restrict __ps) __THROW; | |
/* Write multibyte character representation of wide character string | |
SRC to DST. */ | |
extern size_t wcsrtombs (char *__restrict __dst, | |
const wchar_t **__restrict __src, size_t __len, | |
mbstate_t *__restrict __ps) __THROW; | |
#ifdef __USE_XOPEN2K8 | |
/* Write wide character representation of at most NMC bytes of the | |
multibyte character string SRC to DST. */ | |
extern size_t mbsnrtowcs (wchar_t *__restrict __dst, | |
const char **__restrict __src, size_t __nmc, | |
size_t __len, mbstate_t *__restrict __ps) __THROW; | |
/* Write multibyte character representation of at most NWC characters | |
from the wide character string SRC to DST. */ | |
extern size_t wcsnrtombs (char *__restrict __dst, | |
const wchar_t **__restrict __src, | |
size_t __nwc, size_t __len, | |
mbstate_t *__restrict __ps) __THROW; | |
#endif /* use POSIX 2008 */ | |
# 387 "/usr/include/wchar.h" 3 4 | |
/* The following functions are extensions found in X/Open CAE. */ | |
#ifdef __USE_XOPEN | |
/* Determine number of column positions required for C. */ | |
extern int wcwidth (wchar_t __c) __THROW; | |
/* Determine number of column positions required for first N wide | |
characters (or fewer if S ends before this) in S. */ | |
extern int wcswidth (const wchar_t *__s, size_t __n) __THROW; | |
#endif /* Use X/Open. */ | |
# 398 "/usr/include/wchar.h" 3 4 | |
/* Convert initial portion of the wide string NPTR to `double' | |
representation. */ | |
extern double wcstod (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
#ifdef __USE_ISOC99 | |
/* Likewise for `float' and `long double' sizes of floating-point numbers. */ | |
extern float wcstof (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
extern long double wcstold (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
#endif /* C99 */ | |
# 412 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 414 "/usr/include/wchar.h" 3 4 | |
/* Likewise for `_FloatN' and `_FloatNx' when support is enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT16 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 417 "/usr/include/wchar.h" 3 4 | |
extern _Float16 wcstof16 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 420 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 422 "/usr/include/wchar.h" 3 4 | |
extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 425 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 427 "/usr/include/wchar.h" 3 4 | |
extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 430 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 432 "/usr/include/wchar.h" 3 4 | |
extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 435 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 437 "/usr/include/wchar.h" 3 4 | |
extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 440 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 442 "/usr/include/wchar.h" 3 4 | |
extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 445 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 447 "/usr/include/wchar.h" 3 4 | |
extern _Float128x wcstof128x (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr) __THROW; | |
# endif | |
# 450 "/usr/include/wchar.h" 3 4 | |
#endif /* __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) */ | |
# 451 "/usr/include/wchar.h" 3 4 | |
/* Convert initial portion of wide string NPTR to `long int' | |
representation. */ | |
extern long int wcstol (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) __THROW; | |
/* Convert initial portion of wide string NPTR to `unsigned long int' | |
representation. */ | |
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
__THROW; | |
#ifdef __USE_ISOC99 | |
/* Convert initial portion of wide string NPTR to `long long int' | |
representation. */ | |
__extension__ | |
extern long long int wcstoll (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
__THROW; | |
/* Convert initial portion of wide string NPTR to `unsigned long long int' | |
representation. */ | |
__extension__ | |
extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) __THROW; | |
#endif /* ISO C99. */ | |
# 479 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_GNU | |
/* Convert initial portion of wide string NPTR to `long long int' | |
representation. */ | |
__extension__ | |
extern long long int wcstoq (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
__THROW; | |
/* Convert initial portion of wide string NPTR to `unsigned long long int' | |
representation. */ | |
__extension__ | |
extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) __THROW; | |
#endif /* Use GNU. */ | |
# 495 "/usr/include/wchar.h" 3 4 | |
/* Versions of the above functions that handle '0b' and '0B' prefixes | |
in base 0 or 2. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (C2X_STRTOL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 499 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern long int __REDIRECT_NTH (wcstol, (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstol); | |
extern unsigned long int __REDIRECT_NTH (wcstoul, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstoul); | |
__extension__ | |
extern long long int __REDIRECT_NTH (wcstoll, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstoll); | |
__extension__ | |
extern unsigned long long int __REDIRECT_NTH (wcstoull, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstoull); | |
# ifdef __USE_GNU | |
__extension__ | |
extern long long int __REDIRECT_NTH (wcstoq, (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstoll); | |
__extension__ | |
extern unsigned long long int __REDIRECT_NTH (wcstouq, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base), __isoc23_wcstoull); | |
# endif | |
# 528 "/usr/include/wchar.h" 3 4 | |
# else | |
# 529 "/usr/include/wchar.h" 3 4 | |
extern long int __isoc23_wcstol (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base) | |
__THROW; | |
extern unsigned long int __isoc23_wcstoul (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) | |
__THROW; | |
__extension__ | |
extern long long int __isoc23_wcstoll (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) | |
__THROW; | |
__extension__ | |
extern unsigned long long int __isoc23_wcstoull (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base) | |
__THROW; | |
# define wcstol __isoc23_wcstol | |
# define wcstoul __isoc23_wcstoul | |
# define wcstoll __isoc23_wcstoll | |
# define wcstoull __isoc23_wcstoull | |
# ifdef __USE_GNU | |
# define wcstoq __isoc23_wcstoll | |
# define wcstouq __isoc23_wcstoull | |
# endif | |
# 554 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 555 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 556 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_GNU | |
/* Parallel versions of the functions above which take the locale to | |
use as an additional parameter. These are GNU extensions inspired | |
by the POSIX.1-2008 extended locale API. */ | |
extern long int wcstol_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base, | |
locale_t __loc) __THROW; | |
extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) __THROW; | |
__extension__ | |
extern long long int wcstoll_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) __THROW; | |
__extension__ | |
extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) | |
__THROW; | |
/* Versions of the above functions that handle '0b' and '0B' prefixes | |
in base 0 or 2. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GLIBC_USE (C2X_STRTOL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 583 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern long int __REDIRECT_NTH (wcstol_l, (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc), | |
__isoc23_wcstol_l); | |
extern unsigned long int __REDIRECT_NTH (wcstoul_l, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc), | |
__isoc23_wcstoul_l); | |
__extension__ | |
extern long long int __REDIRECT_NTH (wcstoll_l, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc), | |
__isoc23_wcstoll_l); | |
__extension__ | |
extern unsigned long long int __REDIRECT_NTH (wcstoull_l, | |
(const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc), | |
__isoc23_wcstoull_l); | |
# else | |
# 606 "/usr/include/wchar.h" 3 4 | |
extern long int __isoc23_wcstol_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, int __base, | |
locale_t __loc) __THROW; | |
extern unsigned long int __isoc23_wcstoul_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) | |
__THROW; | |
__extension__ | |
extern long long int __isoc23_wcstoll_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) | |
__THROW; | |
__extension__ | |
extern unsigned long long int __isoc23_wcstoull_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
int __base, locale_t __loc) | |
__THROW; | |
# define wcstol_l __isoc23_wcstol_l | |
# define wcstoul_l __isoc23_wcstoul_l | |
# define wcstoll_l __isoc23_wcstoll_l | |
# define wcstoull_l __isoc23_wcstoull_l | |
# endif | |
# 628 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 629 "/usr/include/wchar.h" 3 4 | |
extern double wcstod_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, locale_t __loc) | |
__THROW; | |
extern float wcstof_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, locale_t __loc) | |
__THROW; | |
extern long double wcstold_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT16 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 643 "/usr/include/wchar.h" 3 4 | |
extern _Float16 wcstof16_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 647 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 649 "/usr/include/wchar.h" 3 4 | |
extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 653 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 655 "/usr/include/wchar.h" 3 4 | |
extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 659 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 661 "/usr/include/wchar.h" 3 4 | |
extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 665 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT32X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 667 "/usr/include/wchar.h" 3 4 | |
extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 671 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT64X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 673 "/usr/include/wchar.h" 3 4 | |
extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 677 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __HAVE_FLOAT128X | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 679 "/usr/include/wchar.h" 3 4 | |
extern _Float128x wcstof128x_l (const wchar_t *__restrict __nptr, | |
wchar_t **__restrict __endptr, | |
locale_t __loc) __THROW; | |
# endif | |
# 683 "/usr/include/wchar.h" 3 4 | |
#endif /* use GNU */ | |
# 684 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
/* Copy SRC to DEST, returning the address of the terminating L'\0' in | |
DEST. */ | |
extern wchar_t *wcpcpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src) __THROW; | |
/* Copy no more than N characters of SRC to DEST, returning the address of | |
the last character written into DEST. */ | |
extern wchar_t *wcpncpy (wchar_t *__restrict __dest, | |
const wchar_t *__restrict __src, size_t __n) | |
__THROW; | |
#endif | |
# 698 "/usr/include/wchar.h" 3 4 | |
/* Wide character I/O functions. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 703 "/usr/include/wchar.h" 3 4 | |
# ifndef __attr_dealloc_fclose | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __has_builtin | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 705 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __has_builtin (__builtin_fclose) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 706 "/usr/include/wchar.h" 3 4 | |
/* If the attribute macro hasn't been defined yet (by <stdio.h>) and | |
fclose is a built-in, use it. */ | |
# define __attr_dealloc_fclose __attr_dealloc (__builtin_fclose, 1) | |
# endif | |
# 710 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 711 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 712 "/usr/include/wchar.h" 3 4 | |
# ifndef __attr_dealloc_fclose | |
# define __attr_dealloc_fclose /* empty */ | |
# endif | |
# 715 "/usr/include/wchar.h" 3 4 | |
/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces | |
a wide character string. */ | |
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW | |
__attribute_malloc__ __attr_dealloc_fclose; | |
#endif | |
# 721 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_ISOC95 || defined __USE_UNIX98 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 723 "/usr/include/wchar.h" 3 4 | |
/* Select orientation for stream. */ | |
extern int fwide (__FILE *__fp, int __mode) __THROW; | |
/* Write formatted output to STREAM. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int fwprintf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...) | |
/* __attribute__ ((__format__ (__wprintf__, 2, 3))) */; | |
/* Write formatted output to stdout. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int wprintf (const wchar_t *__restrict __format, ...) | |
/* __attribute__ ((__format__ (__wprintf__, 1, 2))) */; | |
/* Write formatted output of at most N characters to S. */ | |
extern int swprintf (wchar_t *__restrict __s, size_t __n, | |
const wchar_t *__restrict __format, ...) | |
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */; | |
/* Write formatted output to S from argument list ARG. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int vfwprintf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
/* __attribute__ ((__format__ (__wprintf__, 2, 0))) */; | |
/* Write formatted output to stdout from argument list ARG. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int vwprintf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
/* __attribute__ ((__format__ (__wprintf__, 1, 0))) */; | |
/* Write formatted output of at most N character to S from argument | |
list ARG. */ | |
extern int vswprintf (wchar_t *__restrict __s, size_t __n, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */; | |
/* Read formatted input from STREAM. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int fwscanf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
/* Read formatted input from stdin. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int wscanf (const wchar_t *__restrict __format, ...) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; | |
/* Read formatted input from S. */ | |
extern int swscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, ...) | |
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
/* For historical reasons, the C99-compliant versions of the scanf | |
functions are at alternative names. When __LDBL_COMPAT or | |
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in | |
bits/wchar-ldbl.h. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ | |
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 793 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GLIBC_USE (C2X_STRTOL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 794 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...), | |
__isoc23_fwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), | |
__isoc23_wscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; | |
extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
...), __isoc23_swscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
# else | |
# 807 "/usr/include/wchar.h" 3 4 | |
extern int __isoc23_fwscanf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...); | |
extern int __isoc23_wscanf (const wchar_t *__restrict __format, ...); | |
extern int __isoc23_swscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, ...) | |
__THROW; | |
# define fwscanf __isoc23_fwscanf | |
# define wscanf __isoc23_wscanf | |
# define swscanf __isoc23_swscanf | |
# endif | |
# 817 "/usr/include/wchar.h" 3 4 | |
# else | |
# 818 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...), | |
__isoc99_fwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), | |
__isoc99_wscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; | |
extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
...), __isoc99_swscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; | |
# else | |
# 831 "/usr/include/wchar.h" 3 4 | |
extern int __isoc99_fwscanf (__FILE *__restrict __stream, | |
const wchar_t *__restrict __format, ...); | |
extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...); | |
extern int __isoc99_swscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, ...) | |
__THROW; | |
# define fwscanf __isoc99_fwscanf | |
# define wscanf __isoc99_wscanf | |
# define swscanf __isoc99_swscanf | |
# endif | |
# 841 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 842 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 843 "/usr/include/wchar.h" 3 4 | |
#endif /* Use ISO C95, C99 and Unix98. */ | |
# 845 "/usr/include/wchar.h" 3 4 | |
#ifdef __USE_ISOC99 | |
/* Read formatted input from S into argument list ARG. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int vfwscanf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
/* Read formatted input from stdin into argument list ARG. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int vwscanf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; | |
/* Read formatted input from S into argument list ARG. */ | |
extern int vswscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) | |
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
/* Same redirection as above for the v*wscanf family. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GLIBC_USE (DEPRECATED_SCANF) \ | |
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \ | |
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \ | |
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 873 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GLIBC_USE (C2X_STRTOL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 874 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc23_vfwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc23_vwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; | |
extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc23_vswscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
# else | |
# 887 "/usr/include/wchar.h" 3 4 | |
extern int __isoc23_vfwscanf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg); | |
extern int __isoc23_vwscanf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg); | |
extern int __isoc23_vswscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) __THROW; | |
# define vfwscanf __isoc23_vfwscanf | |
# define vwscanf __isoc23_vwscanf | |
# define vswscanf __isoc23_vswscanf | |
# endif | |
# 899 "/usr/include/wchar.h" 3 4 | |
# else | |
# 900 "/usr/include/wchar.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc99_vfwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc99_vwscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; | |
extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg), __isoc99_vswscanf) | |
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; | |
# else | |
# 913 "/usr/include/wchar.h" 3 4 | |
extern int __isoc99_vfwscanf (__FILE *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg); | |
extern int __isoc99_vwscanf (const wchar_t *__restrict __format, | |
__gnuc_va_list __arg); | |
extern int __isoc99_vswscanf (const wchar_t *__restrict __s, | |
const wchar_t *__restrict __format, | |
__gnuc_va_list __arg) __THROW; | |
# define vfwscanf __isoc99_vfwscanf | |
# define vwscanf __isoc99_vwscanf | |
# define vswscanf __isoc99_vswscanf | |
# endif | |
# 925 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 926 "/usr/include/wchar.h" 3 4 | |
# endif | |
# 927 "/usr/include/wchar.h" 3 4 | |
#endif /* Use ISO C99. */ | |
# 929 "/usr/include/wchar.h" 3 4 | |
/* Read a character from STREAM. | |
These functions are possible cancellation points and therefore not | |
marked with __THROW. */ | |
extern wint_t fgetwc (__FILE *__stream); | |
extern wint_t getwc (__FILE *__stream); | |
/* Read a character from stdin. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern wint_t getwchar (void); | |
/* Write a character to STREAM. | |
These functions are possible cancellation points and therefore not | |
marked with __THROW. */ | |
extern wint_t fputwc (wchar_t __wc, __FILE *__stream); | |
extern wint_t putwc (wchar_t __wc, __FILE *__stream); | |
/* Write a character to stdout. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern wint_t putwchar (wchar_t __wc); | |
/* Get a newline-terminated wide character string of finite length | |
from STREAM. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, | |
__FILE *__restrict __stream); | |
/* Write a string to STREAM. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern int fputws (const wchar_t *__restrict __ws, | |
__FILE *__restrict __stream); | |
/* Push a character back onto the input buffer of STREAM. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern wint_t ungetwc (wint_t __wc, __FILE *__stream); | |
#ifdef __USE_GNU | |
/* These are defined to be equivalent to the `char' functions defined | |
in POSIX.1:1996. | |
These functions are not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation they are cancellation points and | |
therefore not marked with __THROW. */ | |
extern wint_t getwc_unlocked (__FILE *__stream); | |
extern wint_t getwchar_unlocked (void); | |
/* This is the wide character version of a GNU extension. | |
This function is not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation it is a cancellation point and | |
therefore not marked with __THROW. */ | |
extern wint_t fgetwc_unlocked (__FILE *__stream); | |
/* Faster version when locking is not necessary. | |
This function is not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation it is a cancellation point and | |
therefore not marked with __THROW. */ | |
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); | |
/* These are defined to be equivalent to the `char' functions defined | |
in POSIX.1:1996. | |
These functions are not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation they are cancellation points and | |
therefore not marked with __THROW. */ | |
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); | |
extern wint_t putwchar_unlocked (wchar_t __wc); | |
/* This function does the same as `fgetws' but does not lock the stream. | |
This function is not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation it is a cancellation point and | |
therefore not marked with __THROW. */ | |
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, | |
__FILE *__restrict __stream); | |
/* This function does the same as `fputws' but does not lock the stream. | |
This function is not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation it is a cancellation point and | |
therefore not marked with __THROW. */ | |
extern int fputws_unlocked (const wchar_t *__restrict __ws, | |
__FILE *__restrict __stream); | |
#endif | |
# 1038 "/usr/include/wchar.h" 3 4 | |
/* Format TP into S according to FORMAT. | |
Write no more than MAXSIZE wide characters and return the number | |
of wide characters written, or 0 if it would exceed MAXSIZE. */ | |
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, | |
const wchar_t *__restrict __format, | |
const struct tm *__restrict __tp) __THROW; | |
# ifdef __USE_GNU | |
/* Similar to `wcsftime' but takes the information from | |
the provided locale and not the global locale. */ | |
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, | |
const wchar_t *__restrict __format, | |
const struct tm *__restrict __tp, | |
locale_t __loc) __THROW; | |
# endif | |
# 1055 "/usr/include/wchar.h" 3 4 | |
/* Define some macros helping to catch buffer overflows. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1058 "/usr/include/wchar.h" 3 4 | |
/* Declare all functions from bits/wchar2-decl.h first. */ | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/wchar2-decl.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 1059 "/usr/include/wchar.h" 3 4 | |
# 1060 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 1061 "/usr/include/wchar.h" 3 4 | |
/* The following headers provide asm redirections. These redirections must | |
appear before the first usage of these functions, e.g. in bits/wchar.h. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1065 "/usr/include/wchar.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/wchar-ldbl.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 1065 "/usr/include/wchar.h" 3 4 | |
# 1066 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 1067 "/usr/include/wchar.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1069 "/usr/include/wchar.h" 3 4 | |
/* Now include the function definitions and redirects too. */ | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/wchar2.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 1070 "/usr/include/wchar.h" 3 4 | |
# 1071 "/usr/include/wchar.h" 3 4 | |
#endif | |
# 1072 "/usr/include/wchar.h" 3 4 | |
__END_DECLS | |
#endif /* wchar.h */ | |
# 1076 "/usr/include/wchar.h" 3 4 | |
#endif /* wchar.h expanded by -frewrite-includes */ | |
# 45 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 2 3 | |
#endif | |
# 46 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifndef _GLIBCXX_CWCHAR | |
#define _GLIBCXX_CWCHAR 1 | |
// Need to do a bit of trickery here with mbstate_t as char_traits | |
// assumes it is in wchar.h, regardless of wchar_t specializations. | |
#ifndef _GLIBCXX_HAVE_MBSTATE_T | |
extern "C" | |
{ | |
typedef struct | |
{ | |
int __fill[6]; | |
} mbstate_t; | |
} | |
#endif | |
# 61 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
namespace std | |
{ | |
using ::mbstate_t; | |
} // namespace std | |
// Get rid of those macros defined in <wchar.h> in lieu of real functions. | |
#undef btowc | |
#undef fgetwc | |
#undef fgetws | |
#undef fputwc | |
#undef fputws | |
#undef fwide | |
#undef fwprintf | |
#undef fwscanf | |
#undef getwc | |
#undef getwchar | |
#undef mbrlen | |
#undef mbrtowc | |
#undef mbsinit | |
#undef mbsrtowcs | |
#undef putwc | |
#undef putwchar | |
#undef swprintf | |
#undef swscanf | |
#undef ungetwc | |
#undef vfwprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 89 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vfwscanf | |
#endif | |
# 91 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef vswprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 93 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vswscanf | |
#endif | |
# 95 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef vwprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vwscanf | |
#endif | |
# 99 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcrtomb | |
#undef wcscat | |
#undef wcschr | |
#undef wcscmp | |
#undef wcscoll | |
#undef wcscpy | |
#undef wcscspn | |
#undef wcsftime | |
#undef wcslen | |
#undef wcsncat | |
#undef wcsncmp | |
#undef wcsncpy | |
#undef wcspbrk | |
#undef wcsrchr | |
#undef wcsrtombs | |
#undef wcsspn | |
#undef wcsstr | |
#undef wcstod | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 118 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef wcstof | |
#endif | |
# 120 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcstok | |
#undef wcstol | |
#undef wcstoul | |
#undef wcsxfrm | |
#undef wctob | |
#undef wmemchr | |
#undef wmemcmp | |
#undef wmemcpy | |
#undef wmemmove | |
#undef wmemset | |
#undef wprintf | |
#undef wscanf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_WCHAR_T | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 134 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C++" | |
{ | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
using ::wint_t; | |
using ::btowc; | |
using ::fgetwc; | |
using ::fgetws; | |
using ::fputwc; | |
using ::fputws; | |
using ::fwide; | |
using ::fwprintf; | |
using ::fwscanf; | |
using ::getwc; | |
using ::getwchar; | |
using ::mbrlen; | |
using ::mbrtowc; | |
using ::mbsinit; | |
using ::mbsrtowcs; | |
using ::putwc; | |
using ::putwchar; | |
#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
using ::swprintf; | |
#endif | |
# 162 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::swscanf; | |
using ::ungetwc; | |
using ::vfwprintf; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 166 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vfwscanf; | |
#endif | |
# 168 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
using ::vswprintf; | |
#endif | |
# 171 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 172 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vswscanf; | |
#endif | |
# 174 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vwprintf; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 176 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vwscanf; | |
#endif | |
# 178 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcrtomb; | |
using ::wcscat; | |
using ::wcscmp; | |
using ::wcscoll; | |
using ::wcscpy; | |
using ::wcscspn; | |
using ::wcsftime; | |
using ::wcslen; | |
using ::wcsncat; | |
using ::wcsncmp; | |
using ::wcsncpy; | |
using ::wcsrtombs; | |
using ::wcsspn; | |
using ::wcstod; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 193 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstof; | |
#endif | |
# 195 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstok; | |
using ::wcstol; | |
using ::wcstoul; | |
using ::wcsxfrm; | |
using ::wctob; | |
using ::wmemcmp; | |
using ::wmemcpy; | |
using ::wmemmove; | |
using ::wmemset; | |
using ::wprintf; | |
using ::wscanf; | |
using ::wcschr; | |
using ::wcspbrk; | |
using ::wcsrchr; | |
using ::wcsstr; | |
using ::wmemchr; | |
#ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
inline wchar_t* | |
wcschr(wchar_t* __p, wchar_t __c) | |
{ return wcschr(const_cast<const wchar_t*>(__p), __c); } | |
inline wchar_t* | |
wcspbrk(wchar_t* __s1, const wchar_t* __s2) | |
{ return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); } | |
inline wchar_t* | |
wcsrchr(wchar_t* __p, wchar_t __c) | |
{ return wcsrchr(const_cast<const wchar_t*>(__p), __c); } | |
inline wchar_t* | |
wcsstr(wchar_t* __s1, const wchar_t* __s2) | |
{ return wcsstr(const_cast<const wchar_t*>(__s1), __s2); } | |
inline wchar_t* | |
wmemchr(wchar_t* __p, wchar_t __c, size_t __n) | |
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); } | |
#endif | |
# 233 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
} // extern "C++" | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_WCHAR | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 239 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcstold | |
#undef wcstoll | |
#undef wcstoull | |
namespace __gnu_cxx | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 247 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C" long double | |
(wcstold)(const wchar_t * __restrict, wchar_t ** __restrict) throw (); | |
#endif | |
# 250 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !_GLIBCXX_USE_C99_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 251 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstold; | |
#endif | |
# 253 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 254 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C" long long int | |
(wcstoll)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw (); | |
extern "C" unsigned long long int | |
(wcstoull)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw (); | |
#endif | |
# 259 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 260 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstoll; | |
using ::wcstoull; | |
#endif | |
# 263 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
} // namespace __gnu_cxx | |
namespace std | |
{ | |
using ::__gnu_cxx::wcstold; | |
using ::__gnu_cxx::wcstoll; | |
using ::__gnu_cxx::wcstoull; | |
} // namespace | |
#endif | |
# 273 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif //_GLIBCXX_USE_WCHAR_T | |
# 275 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 277 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
namespace std | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 283 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::wcstof; | |
#endif | |
# 285 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 286 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vfwscanf; | |
#endif | |
# 288 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 289 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vswscanf; | |
#endif | |
# 291 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 292 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vwscanf; | |
#endif | |
# 294 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_WCHAR | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 296 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::wcstold; | |
using std::wcstoll; | |
using std::wcstoull; | |
#endif | |
# 300 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
} // namespace | |
#endif // _GLIBCXX_USE_WCHAR_T | |
# 303 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif // C++11 | |
# 305 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif | |
# 307 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif /* cwchar expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 2 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
// The types streamoff, streampos and wstreampos and the class | |
// template fpos<> are described in clauses 21.1.2, 21.1.3, 27.1.2, | |
// 27.2, 27.4.1, 27.4.3 and D.6. Despite all this verbiage, the | |
// behaviour of these types is mostly implementation defined or | |
// unspecified. The behaviour in this implementation is as noted | |
// below. | |
/** | |
* @brief Type used by fpos, char_traits<char>, and char_traits<wchar_t>. | |
* | |
* In clauses 21.1.3.1 and 27.4.1 streamoff is described as an | |
* implementation defined type. | |
* Note: In versions of GCC up to and including GCC 3.3, streamoff | |
* was typedef long. | |
*/ | |
#ifdef __INT64_TYPE__ | |
typedef __INT64_TYPE__ streamoff; | |
#else | |
# 64 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
typedef long long streamoff; | |
#endif | |
# 66 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
/// Integral type for I/O operation counts and buffer sizes. | |
typedef ptrdiff_t streamsize; // Signed integral type | |
/** | |
* @brief Class representing stream positions. | |
* | |
* The standard places no requirements upon the template parameter StateT. | |
* In this implementation StateT must be DefaultConstructible, | |
* CopyConstructible and Assignable. The standard only requires that fpos | |
* should contain a member of type StateT. In this implementation it also | |
* contains an offset stored as a signed integer. | |
* | |
* @param StateT Type passed to and returned from state(). | |
*/ | |
template<typename _StateT> | |
class fpos | |
{ | |
private: | |
streamoff _M_off; | |
_StateT _M_state; | |
public: | |
// The standard doesn't require that fpos objects can be default | |
// constructed. This implementation provides a default | |
// constructor that initializes the offset to 0 and default | |
// constructs the state. | |
fpos() | |
: _M_off(0), _M_state() { } | |
// The standard requires that fpos objects can be constructed | |
// from streamoff objects using the constructor syntax, and | |
// fails to give any meaningful semantics. In this | |
// implementation implicit conversion is also allowed, and this | |
// constructor stores the streamoff as the offset and default | |
// constructs the state. | |
/// Construct position from offset. | |
fpos(streamoff __off) | |
: _M_off(__off), _M_state() { } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
fpos(const fpos&) = default; | |
fpos& operator=(const fpos&) = default; | |
~fpos() = default; | |
#endif | |
# 111 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
/// Convert to streamoff. | |
operator streamoff() const { return _M_off; } | |
/// Remember the value of @a st. | |
void | |
state(_StateT __st) | |
{ _M_state = __st; } | |
/// Return the last set value of @a st. | |
_StateT | |
state() const | |
{ return _M_state; } | |
// The standard requires that this operator must be defined, but | |
// gives no semantics. In this implementation it just adds its | |
// argument to the stored offset and returns *this. | |
/// Add offset to this position. | |
fpos& | |
operator+=(streamoff __off) | |
{ | |
_M_off += __off; | |
return *this; | |
} | |
// The standard requires that this operator must be defined, but | |
// gives no semantics. In this implementation it just subtracts | |
// its argument from the stored offset and returns *this. | |
/// Subtract offset from this position. | |
fpos& | |
operator-=(streamoff __off) | |
{ | |
_M_off -= __off; | |
return *this; | |
} | |
// The standard requires that this operator must be defined, but | |
// defines its semantics only in terms of operator-. In this | |
// implementation it constructs a copy of *this, adds the | |
// argument to that copy using operator+= and then returns the | |
// copy. | |
/// Add position and offset. | |
fpos | |
operator+(streamoff __off) const | |
{ | |
fpos __pos(*this); | |
__pos += __off; | |
return __pos; | |
} | |
// The standard requires that this operator must be defined, but | |
// defines its semantics only in terms of operator+. In this | |
// implementation it constructs a copy of *this, subtracts the | |
// argument from that copy using operator-= and then returns the | |
// copy. | |
/// Subtract offset from position. | |
fpos | |
operator-(streamoff __off) const | |
{ | |
fpos __pos(*this); | |
__pos -= __off; | |
return __pos; | |
} | |
// The standard requires that this operator must be defined, but | |
// defines its semantics only in terms of operator+. In this | |
// implementation it returns the difference between the offset | |
// stored in *this and in the argument. | |
/// Subtract position to return offset. | |
streamoff | |
operator-(const fpos& __other) const | |
{ return _M_off - __other._M_off; } | |
}; | |
// The standard only requires that operator== must be an | |
// equivalence relation. In this implementation two fpos<StateT> | |
// objects belong to the same equivalence class if the contained | |
// offsets compare equal. | |
/// Test if equivalent to another position. | |
template<typename _StateT> | |
inline bool | |
operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
{ return streamoff(__lhs) == streamoff(__rhs); } | |
template<typename _StateT> | |
inline bool | |
operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
{ return streamoff(__lhs) != streamoff(__rhs); } | |
// Clauses 21.1.3.1 and 21.1.3.2 describe streampos and wstreampos | |
// as implementation defined types, but clause 27.2 requires that | |
// they must both be typedefs for fpos<mbstate_t> | |
/// File position for char streams. | |
typedef fpos<mbstate_t> streampos; | |
/// File position for wchar_t streams. | |
typedef fpos<mbstate_t> wstreampos; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
/// File position for char8_t streams. | |
typedef fpos<mbstate_t> u8streampos; | |
#endif | |
# 212 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 214 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
/// File position for char16_t streams. | |
typedef fpos<mbstate_t> u16streampos; | |
/// File position for char32_t streams. | |
typedef fpos<mbstate_t> u32streampos; | |
#endif | |
# 219 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif | |
# 224 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/postypes.h" 3 | |
#endif /* postypes.h expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 2 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
/** | |
* @defgroup io I/O | |
* | |
* Nearly all of the I/O classes are parameterized on the type of | |
* characters they read and write. (The major exception is ios_base at | |
* the top of the hierarchy.) This is a change from pre-Standard | |
* streams, which were not templates. | |
* | |
* For ease of use and compatibility, all of the basic_* I/O-related | |
* classes are given typedef names for both of the builtin character | |
* widths (wide and narrow). The typedefs are the same as the | |
* pre-Standard names, for example: | |
* | |
* @code | |
* typedef basic_ifstream<char> ifstream; | |
* @endcode | |
* | |
* Because properly forward-declaring these classes can be difficult, you | |
* should not do it yourself. Instead, include the <iosfwd> | |
* header, which contains only declarations of all the I/O classes as | |
* well as the typedefs. Trying to forward-declare the typedefs | |
* themselves (e.g., <code>class ostream;</code>) is not valid ISO C++. | |
* | |
* For more specific declarations, see | |
* https://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html#std.io.objects | |
* | |
* @{ | |
*/ | |
class ios_base; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_ios; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_streambuf; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_istream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_ostream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_iostream; | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Alloc = allocator<_CharT> > | |
class basic_stringbuf; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Alloc = allocator<_CharT> > | |
class basic_istringstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Alloc = allocator<_CharT> > | |
class basic_ostringstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Alloc = allocator<_CharT> > | |
class basic_stringstream; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_filebuf; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_ifstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_ofstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class basic_fstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class istreambuf_iterator; | |
template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
class ostreambuf_iterator; | |
/// Base class for @c char streams. | |
typedef basic_ios<char> ios; | |
/// Base class for @c char buffers. | |
typedef basic_streambuf<char> streambuf; | |
/// Base class for @c char input streams. | |
typedef basic_istream<char> istream; | |
/// Base class for @c char output streams. | |
typedef basic_ostream<char> ostream; | |
/// Base class for @c char mixed input and output streams. | |
typedef basic_iostream<char> iostream; | |
/// Class for @c char memory buffers. | |
typedef basic_stringbuf<char> stringbuf; | |
/// Class for @c char input memory streams. | |
typedef basic_istringstream<char> istringstream; | |
/// Class for @c char output memory streams. | |
typedef basic_ostringstream<char> ostringstream; | |
/// Class for @c char mixed input and output memory streams. | |
typedef basic_stringstream<char> stringstream; | |
/// Class for @c char file buffers. | |
typedef basic_filebuf<char> filebuf; | |
/// Class for @c char input file streams. | |
typedef basic_ifstream<char> ifstream; | |
/// Class for @c char output file streams. | |
typedef basic_ofstream<char> ofstream; | |
/// Class for @c char mixed input and output file streams. | |
typedef basic_fstream<char> fstream; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
/// Base class for @c wchar_t streams. | |
typedef basic_ios<wchar_t> wios; | |
/// Base class for @c wchar_t buffers. | |
typedef basic_streambuf<wchar_t> wstreambuf; | |
/// Base class for @c wchar_t input streams. | |
typedef basic_istream<wchar_t> wistream; | |
/// Base class for @c wchar_t output streams. | |
typedef basic_ostream<wchar_t> wostream; | |
/// Base class for @c wchar_t mixed input and output streams. | |
typedef basic_iostream<wchar_t> wiostream; | |
/// Class for @c wchar_t memory buffers. | |
typedef basic_stringbuf<wchar_t> wstringbuf; | |
/// Class for @c wchar_t input memory streams. | |
typedef basic_istringstream<wchar_t> wistringstream; | |
/// Class for @c wchar_t output memory streams. | |
typedef basic_ostringstream<wchar_t> wostringstream; | |
/// Class for @c wchar_t mixed input and output memory streams. | |
typedef basic_stringstream<wchar_t> wstringstream; | |
/// Class for @c wchar_t file buffers. | |
typedef basic_filebuf<wchar_t> wfilebuf; | |
/// Class for @c wchar_t input file streams. | |
typedef basic_ifstream<wchar_t> wifstream; | |
/// Class for @c wchar_t output file streams. | |
typedef basic_ofstream<wchar_t> wofstream; | |
/// Class for @c wchar_t mixed input and output file streams. | |
typedef basic_fstream<wchar_t> wfstream; | |
#endif | |
# 212 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L && _GLIBCXX_USE_CXX11_ABI | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 214 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Allocator = allocator<_CharT>> | |
class basic_syncbuf; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
typename _Allocator = allocator<_CharT>> | |
class basic_osyncstream; | |
using syncbuf = basic_syncbuf<char>; | |
using osyncstream = basic_osyncstream<char>; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
using wsyncbuf = basic_syncbuf<wchar_t>; | |
using wosyncstream = basic_osyncstream<wchar_t>; | |
#endif | |
# 228 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#endif // C++20 && CXX11_ABI | |
# 229 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 231 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
template<typename _CharT, typename _Traits = char_traits<_CharT>> | |
class basic_spanbuf; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>> | |
class basic_ispanstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>> | |
class basic_ospanstream; | |
template<typename _CharT, typename _Traits = char_traits<_CharT>> | |
class basic_spanstream; | |
using spanbuf = basic_spanbuf<char>; | |
using ispanstream = basic_ispanstream<char>; | |
using ospanstream = basic_ospanstream<char>; | |
using spanstream = basic_spanstream<char>; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
using wspanbuf = basic_spanbuf<wchar_t>; | |
using wispanstream = basic_ispanstream<wchar_t>; | |
using wospanstream = basic_ospanstream<wchar_t>; | |
using wspanstream = basic_spanstream<wchar_t>; | |
#endif | |
# 251 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#endif // C++23 | |
# 252 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
/** @} */ | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif /* _GLIBCXX_IOSFWD */ | |
# 259 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/iosfwd" 3 | |
#endif /* iosfwd expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* exception expanded by -frewrite-includes */ | |
#include <exception> // For ios_base::failure | |
#else /* exception expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 1 3 | |
// Exception Handling support header for -*- C++ -*- | |
// Copyright (C) 1995-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file exception | |
* This is a Standard C++ Library header. | |
*/ | |
#ifndef __EXCEPTION__ | |
#define __EXCEPTION__ | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* exception.h expanded by -frewrite-includes */ | |
#include <bits/exception.h> | |
#else /* exception.h expanded by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 1 3 | |
// Exception Handling support header for -*- C++ -*- | |
// Copyright (C) 2016-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/exception.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. | |
*/ | |
#ifndef __EXCEPTION_H | |
#define __EXCEPTION_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
extern "C++" { | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
/** | |
* @defgroup exceptions Exceptions | |
* @ingroup diagnostics | |
* @since C++98 | |
* | |
* Classes and functions for reporting errors via exceptions. | |
* @{ | |
*/ | |
/** | |
* @brief Base class for all library exceptions. | |
* | |
* This is the base class for all exceptions thrown by the standard | |
* library, and by certain language expressions. You are free to derive | |
* your own %exception classes, or use a different hierarchy, or to | |
* throw non-class data (e.g., fundamental types). | |
*/ | |
class exception | |
{ | |
public: | |
exception() _GLIBCXX_NOTHROW { } | |
virtual ~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 65 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
exception(const exception&) = default; | |
exception& operator=(const exception&) = default; | |
exception(exception&&) = default; | |
exception& operator=(exception&&) = default; | |
#endif | |
# 70 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
/** Returns a C-style character string describing the general cause | |
* of the current error. */ | |
virtual const char* | |
what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW; | |
}; | |
/// @} | |
} // namespace std | |
} | |
#endif | |
# 84 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception.h" 3 | |
#endif /* exception.h expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 2 3 | |
extern "C++" { | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
/** @addtogroup exceptions | |
* @{ | |
*/ | |
/** If an %exception is thrown which is not listed in a function's | |
* %exception specification, one of these may be thrown. | |
* | |
* @ingroup exceptions | |
*/ | |
class bad_exception : public exception | |
{ | |
public: | |
bad_exception() _GLIBCXX_USE_NOEXCEPT { } | |
// This declaration is not useless: | |
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 | |
virtual ~bad_exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT; | |
// See comment in eh_exception.cc. | |
virtual const char* | |
what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT; | |
}; | |
/// If you write a replacement %terminate handler, it must be of this type. | |
typedef void (*terminate_handler) (); | |
/// Takes a new handler function as an argument, returns the old function. | |
terminate_handler set_terminate(terminate_handler) _GLIBCXX_USE_NOEXCEPT; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/// Return the current terminate handler. | |
terminate_handler get_terminate() noexcept; | |
#endif | |
# 75 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/** The runtime will call this function if %exception handling must be | |
* abandoned for any reason. It can also be called by the user. */ | |
void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__)); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201703L || (__cplusplus <= 202002L && _GLIBCXX_USE_DEPRECATED) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 81 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/// If you write a replacement %unexpected handler, it must be of this type. | |
typedef void (*_GLIBCXX11_DEPRECATED unexpected_handler) (); | |
/** Takes a new handler function as an argument, returns the old function. | |
* | |
* @deprecated Removed from the C++ standard in C++17 | |
*/ | |
_GLIBCXX11_DEPRECATED | |
unexpected_handler set_unexpected(unexpected_handler) _GLIBCXX_USE_NOEXCEPT; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/** Return the current unexpected handler. | |
* | |
* @since C++11 | |
* @deprecated Removed from the C++ standard in C++17 | |
*/ | |
_GLIBCXX11_DEPRECATED | |
unexpected_handler get_unexpected() noexcept; | |
#endif | |
# 100 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/** The runtime will call this function if an %exception is thrown which | |
* violates the function's %exception specification. | |
* | |
* @deprecated Removed from the C++ standard in C++17 | |
*/ | |
_GLIBCXX11_DEPRECATED | |
void unexpected() __attribute__ ((__noreturn__)); | |
#endif | |
# 109 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/** [18.6.4]/1: 'Returns true after completing evaluation of a | |
* throw-expression until either completing initialization of the | |
* exception-declaration in the matching handler or entering `unexpected()` | |
* due to the throw; or after entering `terminate()` for any reason | |
* other than an explicit call to `terminate()`. [Note: This includes | |
* stack unwinding [15.2]. end note]' | |
* | |
* 2: 'When `uncaught_exception()` is true, throwing an | |
* %exception can result in a call of 1terminate()` | |
* (15.5.1).' | |
*/ | |
_GLIBCXX17_DEPRECATED_SUGGEST("std::uncaught_exceptions()") | |
bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__)); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++98 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 125 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#define __cpp_lib_uncaught_exceptions 201411L | |
/** The number of uncaught exceptions. | |
* @since C++17, or any non-strict mode, e.g. `-std=gnu++98` | |
* @see uncaught_exception() | |
*/ | |
int uncaught_exceptions() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__)); | |
#endif | |
# 132 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
/// @} group exceptions | |
} // namespace std | |
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
/** | |
* @brief A replacement for the standard terminate_handler which | |
* prints more information about the terminating exception (if any) | |
* on stderr. | |
* | |
* @ingroup exceptions | |
* | |
* Call | |
* @code | |
* std::set_terminate(__gnu_cxx::__verbose_terminate_handler) | |
* @endcode | |
* to use. For more info, see | |
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt02ch06s02.html | |
* | |
* In 3.4 and later, this is on by default. | |
*/ | |
void __verbose_terminate_handler(); | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
} // extern "C++" | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (__cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 164 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* exception_ptr.h expanded by -frewrite-includes */ | |
#include <bits/exception_ptr.h> | |
#else /* exception_ptr.h expanded by -frewrite-includes */ | |
# 164 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 1 3 | |
// Exception Handling support header (exception_ptr class) for -*- C++ -*- | |
// Copyright (C) 2008-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/exception_ptr.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{exception} | |
*/ | |
#ifndef _EXCEPTION_PTR_H | |
#define _EXCEPTION_PTR_H | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* exception_defines.h expanded by -frewrite-includes */ | |
#include <bits/exception_defines.h> | |
#else /* exception_defines.h expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_defines.h" 1 3 | |
// -fno-exceptions Support -*- C++ -*- | |
// Copyright (C) 2001-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/exception_defines.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{exception} | |
*/ | |
#ifndef _EXCEPTION_DEFINES_H | |
#define _EXCEPTION_DEFINES_H 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ! __cpp_exceptions | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_defines.h" 3 | |
// Iff -fno-exceptions, transform error handling code to work without it. | |
# define __try if (true) | |
# define __catch(X) if (false) | |
# define __throw_exception_again | |
#else | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_defines.h" 3 | |
// Else proceed normally. | |
# define __try try | |
# define __catch(X) catch(X) | |
# define __throw_exception_again throw | |
#endif | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_defines.h" 3 | |
#endif | |
# 46 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_defines.h" 3 | |
#endif /* exception_defines.h expanded by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cxxabi_init_exception.h expanded by -frewrite-includes */ | |
#include <bits/cxxabi_init_exception.h> | |
#else /* cxxabi_init_exception.h expanded by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 1 3 | |
// ABI Support -*- C++ -*- | |
// Copyright (C) 2016-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/cxxabi_init_exception.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. | |
*/ | |
#ifndef _CXXABI_INIT_EXCEPTION_H | |
#define _CXXABI_INIT_EXCEPTION_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#pragma GCC visibility push(default) | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stddef.h expanded by -frewrite-includes */ | |
#include <stddef.h> | |
#else /* stddef.h expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 1 3 | |
/*===---- stddef.h - Basic type definitions --------------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stddef.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stddef.h | |
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stddef.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *` | |
* wouldn't export any stddef interfaces as expected. However, since stddef.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDDEF_H) || __has_feature(modules) || \ | |
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \ | |
defined(__need_ptrdiff_t) || defined(__need_size_t) || \ | |
defined(__need_rsize_t) || defined(__need_wchar_t) || \ | |
defined(__need_NULL) || defined(__need_nullptr_t) || \ | |
defined(__need_unreachable) || defined(__need_max_align_t) || \ | |
defined(__need_offsetof) || defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | |
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | |
!defined(__need_NULL) && !defined(__need_nullptr_t) && \ | |
!defined(__need_unreachable) && !defined(__need_max_align_t) && \ | |
!defined(__need_offsetof) && !defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __STDDEF_H | |
#define __need_ptrdiff_t | |
#define __need_size_t | |
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | |
* enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_rsize_t | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_wchar_t | |
#define __need_NULL | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | |
defined(__cplusplus) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_nullptr_t | |
#endif | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 59 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_unreachable | |
#endif | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_max_align_t | |
#endif | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#define __need_offsetof | |
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | |
* for compatibility, but must be explicitly requested. Therefore | |
* __need_wint_t is intentionally not defined here. */ | |
#endif | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_ptrdiff_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_ptrdiff_t.h expanded by -frewrite-includes */ | |
#include <__stddef_ptrdiff_t.h> | |
#else /* __stddef_ptrdiff_t.h expanded by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_ptrdiff_t.h" 1 3 | |
/*===---- __stddef_ptrdiff_t.h - Definition of ptrdiff_t -------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_PTRDIFF_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_ptrdiff_t.h" 3 | |
#define _PTRDIFF_T | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
#endif | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_ptrdiff_t.h" 3 | |
#endif /* __stddef_ptrdiff_t.h expanded by -frewrite-includes */ | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_ptrdiff_t | |
#endif /* defined(__need_ptrdiff_t) */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_size_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_size_t.h expanded by -frewrite-includes */ | |
#include <__stddef_size_t.h> | |
#else /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 1 3 | |
/*===---- __stddef_size_t.h - Definition of size_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_SIZE_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 | |
#define _SIZE_T | |
typedef __SIZE_TYPE__ size_t; | |
#endif | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 | |
#endif /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_size_t | |
#endif /*defined(__need_size_t) */ | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_rsize_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_rsize_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 83 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#undef __need_rsize_t | |
#endif /* defined(__need_rsize_t) */ | |
# 85 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wchar_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
#include <__stddef_wchar_t.h> | |
#else /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 1 3 | |
/*===---- __stddef_wchar.h - Definition of wchar_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_WCHAR_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 18 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 | |
#define _WCHAR_T | |
#ifdef _MSC_EXTENSIONS | |
#define _WCHAR_T_DEFINED | |
#endif | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 | |
typedef __WCHAR_TYPE__ wchar_t; | |
#endif | |
# 27 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 | |
#endif | |
# 29 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_wchar_t.h" 3 | |
#endif /* __stddef_wchar_t.h expanded by -frewrite-includes */ | |
# 88 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_wchar_t | |
#endif /* defined(__need_wchar_t) */ | |
# 90 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_NULL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_null.h expanded by -frewrite-includes */ | |
#include <__stddef_null.h> | |
#else /* __stddef_null.h expanded by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 1 3 | |
/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(NULL) || !__building_module(_Builtin_stddef) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | |
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | |
* Modules don't support redefining macros like that, but support that pattern | |
* in the non-modules case. | |
*/ | |
#undef NULL | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__MINGW32__) && !defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#define NULL __null | |
#else | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#define NULL 0 | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#else | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#define NULL ((void*)0) | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 | |
#endif /* __stddef_null.h expanded by -frewrite-includes */ | |
# 93 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_NULL | |
#endif /* defined(__need_NULL) */ | |
# 95 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_nullptr_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_nullptr_t.h expanded by -frewrite-includes */ | |
#include <__stddef_nullptr_t.h> | |
#else /* __stddef_nullptr_t.h expanded by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 1 3 | |
/*===---- __stddef_nullptr_t.h - Definition of nullptr_t -------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_NULLPTR_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
#define _NULLPTR_T | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 20 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
namespace std { | |
typedef decltype(nullptr) nullptr_t; | |
} | |
using ::std::nullptr_t; | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
typedef typeof(nullptr) nullptr_t; | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_nullptr_t.h" 3 | |
#endif /* __stddef_nullptr_t.h expanded by -frewrite-includes */ | |
# 98 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_nullptr_t | |
#endif /* defined(__need_nullptr_t) */ | |
# 100 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_unreachable) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_unreachable.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 103 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#undef __need_unreachable | |
#endif /* defined(__need_unreachable) */ | |
# 105 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_max_align_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_max_align_t.h expanded by -frewrite-includes */ | |
#include <__stddef_max_align_t.h> | |
#else /* __stddef_max_align_t.h expanded by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 1 3 | |
/*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#ifndef __CLANG_MAX_ALIGN_T_DEFINED | |
#define __CLANG_MAX_ALIGN_T_DEFINED | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 14 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 3 | |
typedef double max_align_t; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined(__APPLE__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 3 | |
typedef long double max_align_t; | |
#else | |
# 18 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 3 | |
// Define 'max_align_t' to match the GCC definition. | |
typedef struct { | |
long long __clang_max_align_nonce1 | |
__attribute__((__aligned__(__alignof__(long long)))); | |
long double __clang_max_align_nonce2 | |
__attribute__((__aligned__(__alignof__(long double)))); | |
} max_align_t; | |
#endif | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 3 | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_max_align_t.h" 3 | |
#endif /* __stddef_max_align_t.h expanded by -frewrite-includes */ | |
# 108 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_max_align_t | |
#endif /* defined(__need_max_align_t) */ | |
# 110 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_offsetof) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_offsetof.h expanded by -frewrite-includes */ | |
#include <__stddef_offsetof.h> | |
#else /* __stddef_offsetof.h expanded by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_offsetof.h" 1 3 | |
/*===---- __stddef_offsetof.h - Definition of offsetof ---------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(offsetof) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_offsetof.h" 3 | |
#define offsetof(t, d) __builtin_offsetof(t, d) | |
#endif | |
# 18 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_offsetof.h" 3 | |
#endif /* __stddef_offsetof.h expanded by -frewrite-includes */ | |
# 113 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 | |
#undef __need_offsetof | |
#endif /* defined(__need_offsetof) */ | |
# 115 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | |
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wint_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
# 120 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#undef __need_wint_t | |
#endif /* __need_wint_t */ | |
# 122 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#endif | |
# 124 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 | |
#endif /* stddef.h expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 2 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#ifndef _GLIBCXX_CDTOR_CALLABI | |
#define _GLIBCXX_CDTOR_CALLABI | |
#define _GLIBCXX_HAVE_CDTOR_CALLABI 0 | |
#else | |
# 45 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#define _GLIBCXX_HAVE_CDTOR_CALLABI 1 | |
#endif | |
# 47 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#ifdef __cplusplus | |
namespace std | |
{ | |
class type_info; | |
} | |
namespace __cxxabiv1 | |
{ | |
struct __cxa_refcounted_exception; | |
extern "C" | |
{ | |
// Allocate memory for the primary exception plus the thrown object. | |
void* | |
__cxa_allocate_exception(size_t) _GLIBCXX_NOTHROW; | |
void | |
__cxa_free_exception(void*) _GLIBCXX_NOTHROW; | |
// Initialize exception (this is a GNU extension) | |
__cxa_refcounted_exception* | |
__cxa_init_primary_exception(void *__object, std::type_info *__tinfo, | |
void (_GLIBCXX_CDTOR_CALLABI *__dest) (void *)) | |
_GLIBCXX_NOTHROW; | |
} | |
} // namespace __cxxabiv1 | |
#endif | |
# 78 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#pragma GCC visibility pop | |
#endif // _CXXABI_INIT_EXCEPTION_H | |
# 82 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/cxxabi_init_exception.h" 3 | |
#endif /* cxxabi_init_exception.h expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* typeinfo expanded by -frewrite-includes */ | |
#include <typeinfo> | |
#else /* typeinfo expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 1 3 | |
// RTTI support for -*- C++ -*- | |
// Copyright (C) 1994-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file typeinfo | |
* This is a Standard C++ Library header. | |
*/ | |
#ifndef _TYPEINFO | |
#define _TYPEINFO | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 33 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/exception.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* hash_bytes.h expanded by -frewrite-includes */ | |
#include <bits/hash_bytes.h> | |
#else /* hash_bytes.h expanded by -frewrite-includes */ | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/hash_bytes.h" 1 3 | |
// Declarations for hash functions. -*- C++ -*- | |
// Copyright (C) 2010-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/hash_bytes.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{functional} | |
*/ | |
#ifndef _HASH_BYTES_H | |
#define _HASH_BYTES_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/hash_bytes.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/hash_bytes.h" 3 | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/hash_bytes.h" 3 | |
namespace std | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
// Hash function implementation for the nontrivial specialization. | |
// All of them are based on a primitive that hashes a pointer to a | |
// byte array. The actual hash algorithm is not guaranteed to stay | |
// the same from release to release -- it may be updated or tuned to | |
// improve hash quality or speed. | |
size_t | |
_Hash_bytes(const void* __ptr, size_t __len, size_t __seed); | |
// A similar hash primitive, using the FNV hash algorithm. This | |
// algorithm is guaranteed to stay the same from release to release. | |
// (although it might not produce the same values on different | |
// machines.) | |
size_t | |
_Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif | |
# 60 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/hash_bytes.h" 3 | |
#endif /* hash_bytes.h expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 2 3 | |
#endif | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#pragma GCC visibility push(default) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202100L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
# define __cpp_lib_constexpr_typeinfo 202106L | |
#endif | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
extern "C++" { | |
namespace __cxxabiv1 | |
{ | |
class __class_type_info; | |
} // namespace __cxxabiv1 | |
// Determine whether typeinfo names for the same type are merged (in which | |
// case comparison can just compare pointers) or not (in which case strings | |
// must be compared), and whether comparison is to be implemented inline or | |
// not. We used to do inline pointer comparison by default if weak symbols | |
// are available, but even with weak symbols sometimes names are not merged | |
// when objects are loaded with RTLD_LOCAL, so now we always use strcmp by | |
// default. For ABI compatibility, we do the strcmp inline if weak symbols | |
// are available, and out-of-line if not. Out-of-line pointer comparison | |
// is used where the object files are to be portable to multiple systems, | |
// some of which may not be able to use pointer comparison, but the | |
// particular system for which libstdc++ is being built can use pointer | |
// comparison; in particular for most ARM EABI systems, where the ABI | |
// specifies out-of-line comparison. The compiler's target configuration | |
// can override the defaults by defining __GXX_TYPEINFO_EQUALITY_INLINE to | |
// 1 or 0 to indicate whether or not comparison is inline, and | |
// __GXX_MERGED_TYPEINFO_NAMES to 1 or 0 to indicate whether or not pointer | |
// comparison can be used. | |
#ifndef __GXX_MERGED_TYPEINFO_NAMES | |
// By default, typeinfo names are not merged. | |
#define __GXX_MERGED_TYPEINFO_NAMES 0 | |
#endif | |
# 74 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// By default follow the old inline rules to avoid ABI changes. | |
#ifndef __GXX_TYPEINFO_EQUALITY_INLINE | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GXX_WEAK__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 78 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
# define __GXX_TYPEINFO_EQUALITY_INLINE 0 | |
# else | |
# 80 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
# define __GXX_TYPEINFO_EQUALITY_INLINE 1 | |
# endif | |
# 82 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#endif | |
# 83 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
namespace std | |
{ | |
/** | |
* @brief Part of RTTI. | |
* | |
* The @c type_info class describes type information generated by | |
* an implementation. | |
*/ | |
class type_info | |
{ | |
public: | |
/** Destructor first. Being the first non-inline virtual function, this | |
* controls in which translation unit the vtable is emitted. The | |
* compiler makes use of that information to know where to emit | |
* the runtime-mandated type_info structures in the new-abi. */ | |
virtual ~type_info(); | |
/** Returns an @e implementation-defined byte string; this is not | |
* portable between compilers! */ | |
const char* name() const _GLIBCXX_NOEXCEPT | |
{ return __name[0] == '*' ? __name + 1 : __name; } | |
/** Returns true if `*this` precedes `__arg` in the implementation's | |
* collation order. */ | |
bool before(const type_info& __arg) const _GLIBCXX_NOEXCEPT; | |
_GLIBCXX23_CONSTEXPR | |
bool operator==(const type_info& __arg) const _GLIBCXX_NOEXCEPT; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_impl_three_way_comparison < 201907L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 114 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
bool operator!=(const type_info& __arg) const _GLIBCXX_NOEXCEPT | |
{ return !operator==(__arg); } | |
#endif | |
# 117 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
size_t hash_code() const noexcept | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if !__GXX_MERGED_TYPEINFO_NAMES | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 122 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
return _Hash_bytes(name(), __builtin_strlen(name()), | |
static_cast<size_t>(0xc70f6907UL)); | |
# else | |
# 125 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
return reinterpret_cast<size_t>(__name); | |
# endif | |
# 127 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
} | |
#endif // C++11 | |
# 129 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// Return true if this is a pointer type of some kind | |
virtual bool __is_pointer_p() const; | |
// Return true if this is a function type | |
virtual bool __is_function_p() const; | |
// Try and catch a thrown type. Store an adjusted pointer to the | |
// caught type in THR_OBJ. If THR_TYPE is not a pointer type, then | |
// THR_OBJ points to the thrown object. If THR_TYPE is a pointer | |
// type, then THR_OBJ is the pointer itself. OUTER indicates the | |
// number of outer pointers, and whether they were const | |
// qualified. | |
virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, | |
unsigned __outer) const; | |
// Internally used during catch matching | |
virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, | |
void **__obj_ptr) const; | |
protected: | |
const char *__name; | |
explicit type_info(const char *__n): __name(__n) { } | |
private: | |
// type_info objects cannot be copied. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 157 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
type_info& operator=(const type_info&) = delete; | |
type_info(const type_info&) = delete; | |
#else | |
# 160 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
type_info& operator=(const type_info&); | |
type_info(const type_info&); | |
#endif | |
# 163 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ! __GXX_TYPEINFO_EQUALITY_INLINE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 165 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
bool __equal(const type_info&) const _GLIBCXX_NOEXCEPT; | |
#endif | |
# 167 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GXX_TYPEINFO_EQUALITY_INLINE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 170 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
inline bool | |
type_info::before(const type_info& __arg) const _GLIBCXX_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !__GXX_MERGED_TYPEINFO_NAMES | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 174 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// Even with the new abi, on systems that support dlopen | |
// we can run into cases where type_info names aren't merged, | |
// so we still need to do string comparison. | |
if (__name[0] != '*' || __arg.__name[0] != '*') | |
return __builtin_strcmp (__name, __arg.__name) < 0; | |
#else | |
# 180 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// On some targets we can rely on type_info's NTBS being unique, | |
// and therefore address comparisons are sufficient. | |
#endif | |
# 183 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// In old abi, or when weak symbols are not supported, there can | |
// be multiple instances of a type_info object for one | |
// type. Uniqueness must use the __name value, not object address. | |
return __name < __arg.__name; | |
} | |
#endif | |
# 190 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GXX_TYPEINFO_EQUALITY_INLINE || __cplusplus > 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 192 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
_GLIBCXX23_CONSTEXPR inline bool | |
type_info::operator==(const type_info& __arg) const _GLIBCXX_NOEXCEPT | |
{ | |
if (std::__is_constant_evaluated()) | |
return this == &__arg; | |
if (__name == __arg.__name) | |
return true; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !__GXX_TYPEINFO_EQUALITY_INLINE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 202 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// ABI requires comparisons to be non-inline. | |
return __equal(__arg); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif !__GXX_MERGED_TYPEINFO_NAMES | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 1 /* evaluated by -frewrite-includes */ | |
# 205 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
// Need to do string comparison. | |
return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0; | |
#else | |
# 208 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
return false; | |
#endif | |
# 210 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
} | |
# endif | |
# 212 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
/** | |
* @brief Thrown during incorrect typecasting. | |
* @ingroup exceptions | |
* | |
* If you attempt an invalid @c dynamic_cast expression, an instance of | |
* this class (or something derived from this class) is thrown. */ | |
class bad_cast : public exception | |
{ | |
public: | |
bad_cast() _GLIBCXX_USE_NOEXCEPT { } | |
// This declaration is not useless: | |
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 | |
virtual ~bad_cast() _GLIBCXX_USE_NOEXCEPT; | |
// See comment in eh_exception.cc. | |
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; | |
}; | |
/** | |
* @brief Thrown when a NULL pointer in a @c typeid expression is used. | |
* @ingroup exceptions | |
*/ | |
class bad_typeid : public exception | |
{ | |
public: | |
bad_typeid () _GLIBCXX_USE_NOEXCEPT { } | |
// This declaration is not useless: | |
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 | |
virtual ~bad_typeid() _GLIBCXX_USE_NOEXCEPT; | |
// See comment in eh_exception.cc. | |
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; | |
}; | |
} // namespace std | |
} // extern "C++" | |
#pragma GCC visibility pop | |
#endif | |
# 256 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/typeinfo" 3 | |
#endif /* typeinfo expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* new expanded by -frewrite-includes */ | |
#include <new> | |
#else /* new expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 1 3 | |
// The -*- C++ -*- dynamic memory management header. | |
// Copyright (C) 1994-2023 Free Software Foundation, Inc. | |
// This file is part of GCC. | |
// | |
// GCC is free software; you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// | |
// GCC is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file new | |
* This is a Standard C++ Library header. | |
* | |
* The header @c new defines several functions to manage dynamic memory and | |
* handling memory allocation errors; see | |
* https://gcc.gnu.org/onlinedocs/libstdc++/manual/dynamic_memory.html | |
* for more. | |
*/ | |
#ifndef _NEW | |
#define _NEW | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/exception.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#pragma GCC visibility push(default) | |
extern "C++" { | |
namespace std | |
{ | |
/** | |
* @brief Exception possibly thrown by @c new. | |
* @ingroup exceptions | |
* | |
* @c bad_alloc (or classes derived from it) is used to report allocation | |
* errors from the throwing forms of @c new. */ | |
class bad_alloc : public exception | |
{ | |
public: | |
bad_alloc() throw() { } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 61 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
bad_alloc(const bad_alloc&) = default; | |
bad_alloc& operator=(const bad_alloc&) = default; | |
#endif | |
# 64 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
// This declaration is not useless: | |
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 | |
virtual ~bad_alloc() throw(); | |
// See comment in eh_exception.cc. | |
virtual const char* what() const throw(); | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 74 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
class bad_array_new_length : public bad_alloc | |
{ | |
public: | |
bad_array_new_length() throw() { } | |
// This declaration is not useless: | |
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 | |
virtual ~bad_array_new_length() throw(); | |
// See comment in eh_exception.cc. | |
virtual const char* what() const throw(); | |
}; | |
#endif | |
# 87 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_aligned_new | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 89 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
enum class align_val_t: size_t {}; | |
#endif | |
# 91 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
struct nothrow_t | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 95 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
explicit nothrow_t() = default; | |
#endif | |
# 97 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
}; | |
extern const nothrow_t nothrow; | |
/** If you write your own error handler to be called by @c new, it must | |
* be of this type. */ | |
typedef void (*new_handler)(); | |
/// Takes a replacement handler as the argument, returns the | |
/// previous handler. | |
new_handler set_new_handler(new_handler) throw(); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 110 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
/// Return the current new handler. | |
new_handler get_new_handler() noexcept; | |
#endif | |
# 113 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
} // namespace std | |
//@{ | |
/** These are replaceable signatures: | |
* - normal single new and delete (no arguments, throw @c bad_alloc on error) | |
* - normal array new and delete (same) | |
* - @c nothrow single new and delete (take a @c nothrow argument, return | |
* @c NULL on error) | |
* - @c nothrow array new and delete (same) | |
* | |
* Placement new and delete signatures (take a memory address argument, | |
* does nothing) may not be replaced by a user's program. | |
*/ | |
_GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) | |
__attribute__((__externally_visible__)); | |
_GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | |
__attribute__((__externally_visible__)); | |
void operator delete(void*) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
void operator delete[](void*) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_sized_deallocation | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 135 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
#endif | |
# 140 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
_GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
_GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | |
__attribute__((__externally_visible__)); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_aligned_new | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 149 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
_GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t) | |
__attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
_GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
void operator delete(void*, std::align_val_t) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
void operator delete(void*, std::align_val_t, const std::nothrow_t&) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
_GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t) | |
__attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
_GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | |
void operator delete[](void*, std::align_val_t) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
void operator delete[](void*, std::align_val_t, const std::nothrow_t&) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_sized_deallocation | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 166 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
void operator delete(void*, std::size_t, std::align_val_t) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
void operator delete[](void*, std::size_t, std::align_val_t) | |
_GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__)); | |
#endif // __cpp_sized_deallocation | |
# 171 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#endif // __cpp_aligned_new | |
# 172 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
// Default placement versions of operator new. | |
_GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | |
{ return __p; } | |
_GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | |
{ return __p; } | |
// Default placement versions of operator delete. | |
inline void operator delete (void*, void*) _GLIBCXX_USE_NOEXCEPT { } | |
inline void operator delete[](void*, void*) _GLIBCXX_USE_NOEXCEPT { } | |
//@} | |
} // extern "C++" | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 186 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
namespace std | |
{ | |
#ifdef _GLIBCXX_HAVE_BUILTIN_LAUNDER | |
#define __cpp_lib_launder 201606L | |
/// Pointer optimization barrier [ptr.launder] | |
template<typename _Tp> | |
[[nodiscard]] constexpr _Tp* | |
launder(_Tp* __p) noexcept | |
{ return __builtin_launder(__p); } | |
// The program is ill-formed if T is a function type or | |
// (possibly cv-qualified) void. | |
template<typename _Ret, typename... _Args _GLIBCXX_NOEXCEPT_PARM> | |
void launder(_Ret (*)(_Args...) _GLIBCXX_NOEXCEPT_QUAL) = delete; | |
template<typename _Ret, typename... _Args _GLIBCXX_NOEXCEPT_PARM> | |
void launder(_Ret (*)(_Args......) _GLIBCXX_NOEXCEPT_QUAL) = delete; | |
void launder(void*) = delete; | |
void launder(const void*) = delete; | |
void launder(volatile void*) = delete; | |
void launder(const volatile void*) = delete; | |
#endif // _GLIBCXX_HAVE_BUILTIN_LAUNDER | |
# 209 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#ifdef __GCC_DESTRUCTIVE_SIZE | |
# define __cpp_lib_hardware_interference_size 201703L | |
inline constexpr size_t hardware_destructive_interference_size = __GCC_DESTRUCTIVE_SIZE; | |
inline constexpr size_t hardware_constructive_interference_size = __GCC_CONSTRUCTIVE_SIZE; | |
#endif // __GCC_DESTRUCTIVE_SIZE | |
# 215 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
} | |
#endif // C++17 | |
# 217 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 219 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
namespace std | |
{ | |
/// Tag type used to declare a class-specific operator delete that can | |
/// invoke the destructor before deallocating the memory. | |
struct destroying_delete_t | |
{ | |
explicit destroying_delete_t() = default; | |
}; | |
/// Tag variable of type destroying_delete_t. | |
inline constexpr destroying_delete_t destroying_delete{}; | |
} | |
// Only define the feature test macro if the compiler supports the feature: | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_impl_destroying_delete | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 232 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
# define __cpp_lib_destroying_delete 201806L | |
#endif | |
# 234 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#endif // C++20 | |
# 235 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#pragma GCC visibility pop | |
#endif | |
# 239 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/new" 3 | |
#endif /* new expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 2 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* move.h expanded by -frewrite-includes */ | |
# include <bits/move.h> | |
#else /* move.h expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 1 3 | |
// Move, forward and identity for C++11 + swap -*- C++ -*- | |
// Copyright (C) 2007-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/move.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{utility} | |
*/ | |
#ifndef _MOVE_H | |
#define _MOVE_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 33 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/concept_check.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#else | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* type_traits expanded by -frewrite-includes */ | |
# include <type_traits> // Brings in std::declval too. | |
#else /* type_traits expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 1 3 | |
// C++11 <type_traits> -*- C++ -*- | |
// Copyright (C) 2007-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/type_traits | |
* This is a Standard C++ Library header. | |
*/ | |
#ifndef _GLIBCXX_TYPE_TRAITS | |
#define _GLIBCXX_TYPE_TRAITS 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 33 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/c++0x_warning.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#else | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
template<typename _Tp> | |
class reference_wrapper; | |
/** | |
* @defgroup metaprogramming Metaprogramming | |
* @ingroup utilities | |
* | |
* Template utilities for compile-time introspection and modification, | |
* including type classification traits, type property inspection traits | |
* and type transformation traits. | |
* | |
* @since C++11 | |
* | |
* @{ | |
*/ | |
/// integral_constant | |
template<typename _Tp, _Tp __v> | |
struct integral_constant | |
{ | |
static constexpr _Tp value = __v; | |
typedef _Tp value_type; | |
typedef integral_constant<_Tp, __v> type; | |
constexpr operator value_type() const noexcept { return value; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 69 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_integral_constant_callable 201304L | |
constexpr value_type operator()() const noexcept { return value; } | |
#endif | |
# 74 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if ! __cpp_inline_variables | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp, _Tp __v> | |
constexpr _Tp integral_constant<_Tp, __v>::value; | |
#endif | |
# 80 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// The type used as a compile-time boolean with true value. | |
using true_type = integral_constant<bool, true>; | |
/// The type used as a compile-time boolean with false value. | |
using false_type = integral_constant<bool, false>; | |
/// @cond undocumented | |
/// bool_constant for C++11 | |
template<bool __v> | |
using __bool_constant = integral_constant<bool, __v>; | |
/// @endcond | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 94 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
# define __cpp_lib_bool_constant 201505L | |
/// Alias template for compile-time boolean constant types. | |
/// @since C++17 | |
template<bool __v> | |
using bool_constant = integral_constant<bool, __v>; | |
#endif | |
# 100 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Metaprogramming helper types. | |
// Primary template. | |
/// Define a member typedef `type` only if a boolean constant is true. | |
template<bool, typename _Tp = void> | |
struct enable_if | |
{ }; | |
// Partial specialization for true. | |
template<typename _Tp> | |
struct enable_if<true, _Tp> | |
{ typedef _Tp type; }; | |
// __enable_if_t (std::enable_if_t for C++11) | |
template<bool _Cond, typename _Tp = void> | |
using __enable_if_t = typename enable_if<_Cond, _Tp>::type; | |
template<bool> | |
struct __conditional | |
{ | |
template<typename _Tp, typename> | |
using type = _Tp; | |
}; | |
template<> | |
struct __conditional<false> | |
{ | |
template<typename, typename _Up> | |
using type = _Up; | |
}; | |
// More efficient version of std::conditional_t for internal use (and C++11) | |
template<bool _Cond, typename _If, typename _Else> | |
using __conditional_t | |
= typename __conditional<_Cond>::template type<_If, _Else>; | |
/// @cond undocumented | |
template <typename _Type> | |
struct __type_identity | |
{ using type = _Type; }; | |
template<typename _Tp> | |
using __type_identity_t = typename __type_identity<_Tp>::type; | |
namespace __detail | |
{ | |
// A variadic alias template that resolves to its first argument. | |
template<typename _Tp, typename...> | |
using __first_t = _Tp; | |
// These are deliberately not defined. | |
template<typename... _Bn> | |
auto __or_fn(int) -> __first_t<false_type, | |
__enable_if_t<!bool(_Bn::value)>...>; | |
template<typename... _Bn> | |
auto __or_fn(...) -> true_type; | |
template<typename... _Bn> | |
auto __and_fn(int) -> __first_t<true_type, | |
__enable_if_t<bool(_Bn::value)>...>; | |
template<typename... _Bn> | |
auto __and_fn(...) -> false_type; | |
} // namespace detail | |
// Like C++17 std::dis/conjunction, but usable in C++11 and resolves | |
// to either true_type or false_type which allows for a more efficient | |
// implementation that avoids recursive class template instantiation. | |
template<typename... _Bn> | |
struct __or_ | |
: decltype(__detail::__or_fn<_Bn...>(0)) | |
{ }; | |
template<typename... _Bn> | |
struct __and_ | |
: decltype(__detail::__and_fn<_Bn...>(0)) | |
{ }; | |
template<typename _Pp> | |
struct __not_ | |
: __bool_constant<!bool(_Pp::value)> | |
{ }; | |
/// @endcond | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 187 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @cond undocumented | |
template<typename... _Bn> | |
inline constexpr bool __or_v = __or_<_Bn...>::value; | |
template<typename... _Bn> | |
inline constexpr bool __and_v = __and_<_Bn...>::value; | |
namespace __detail | |
{ | |
template<typename /* = void */, typename _B1, typename... _Bn> | |
struct __disjunction_impl | |
{ using type = _B1; }; | |
template<typename _B1, typename _B2, typename... _Bn> | |
struct __disjunction_impl<__enable_if_t<!bool(_B1::value)>, _B1, _B2, _Bn...> | |
{ using type = typename __disjunction_impl<void, _B2, _Bn...>::type; }; | |
template<typename /* = void */, typename _B1, typename... _Bn> | |
struct __conjunction_impl | |
{ using type = _B1; }; | |
template<typename _B1, typename _B2, typename... _Bn> | |
struct __conjunction_impl<__enable_if_t<bool(_B1::value)>, _B1, _B2, _Bn...> | |
{ using type = typename __conjunction_impl<void, _B2, _Bn...>::type; }; | |
} // namespace __detail | |
/// @endcond | |
#define __cpp_lib_logical_traits 201510L | |
template<typename... _Bn> | |
struct conjunction | |
: __detail::__conjunction_impl<void, _Bn...>::type | |
{ }; | |
template<> | |
struct conjunction<> | |
: true_type | |
{ }; | |
template<typename... _Bn> | |
struct disjunction | |
: __detail::__disjunction_impl<void, _Bn...>::type | |
{ }; | |
template<> | |
struct disjunction<> | |
: false_type | |
{ }; | |
template<typename _Pp> | |
struct negation | |
: __not_<_Pp>::type | |
{ }; | |
/** @ingroup variable_templates | |
* @{ | |
*/ | |
template<typename... _Bn> | |
inline constexpr bool conjunction_v = conjunction<_Bn...>::value; | |
template<typename... _Bn> | |
inline constexpr bool disjunction_v = disjunction<_Bn...>::value; | |
template<typename _Pp> | |
inline constexpr bool negation_v = negation<_Pp>::value; | |
/// @} | |
#endif // C++17 | |
# 255 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Forward declarations | |
template<typename> | |
struct is_reference; | |
template<typename> | |
struct is_function; | |
template<typename> | |
struct is_void; | |
template<typename> | |
struct remove_cv; | |
template<typename> | |
struct is_const; | |
/// @cond undocumented | |
template<typename> | |
struct __is_array_unknown_bounds; | |
// Helper functions that return false_type for incomplete classes, | |
// incomplete unions and arrays of known bound from those. | |
template <typename _Tp, size_t = sizeof(_Tp)> | |
constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) | |
{ return {}; } | |
template <typename _TypeIdentity, | |
typename _NestedType = typename _TypeIdentity::type> | |
constexpr typename __or_< | |
is_reference<_NestedType>, | |
is_function<_NestedType>, | |
is_void<_NestedType>, | |
__is_array_unknown_bounds<_NestedType> | |
>::type __is_complete_or_unbounded(_TypeIdentity) | |
{ return {}; } | |
// __remove_cv_t (std::remove_cv_t for C++11). | |
template<typename _Tp> | |
using __remove_cv_t = typename remove_cv<_Tp>::type; | |
/// @endcond | |
// Primary type categories. | |
/// is_void | |
template<typename _Tp> | |
struct is_void | |
: public false_type { }; | |
template<> | |
struct is_void<void> | |
: public true_type { }; | |
template<> | |
struct is_void<const void> | |
: public true_type { }; | |
template<> | |
struct is_void<volatile void> | |
: public true_type { }; | |
template<> | |
struct is_void<const volatile void> | |
: public true_type { }; | |
/// @cond undocumented | |
template<typename> | |
struct __is_integral_helper | |
: public false_type { }; | |
template<> | |
struct __is_integral_helper<bool> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<char> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<signed char> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<unsigned char> | |
: public true_type { }; | |
// We want is_integral<wchar_t> to be true (and make_signed/unsigned to work) | |
// even when libc doesn't provide working <wchar.h> and related functions, | |
// so don't check _GLIBCXX_USE_WCHAR_T here. | |
template<> | |
struct __is_integral_helper<wchar_t> | |
: public true_type { }; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
template<> | |
struct __is_integral_helper<char8_t> | |
: public true_type { }; | |
#endif | |
# 350 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<> | |
struct __is_integral_helper<char16_t> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<char32_t> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<short> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<unsigned short> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<int> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<unsigned int> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<long> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<unsigned long> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<long long> | |
: public true_type { }; | |
template<> | |
struct __is_integral_helper<unsigned long long> | |
: public true_type { }; | |
// Conditionalizing on __STRICT_ANSI__ here will break any port that | |
// uses one of these types for size_t. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 394 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_0> | |
: public true_type { }; | |
__extension__ | |
template<> | |
struct __is_integral_helper<unsigned __GLIBCXX_TYPE_INT_N_0> | |
: public true_type { }; | |
#endif | |
# 404 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 405 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_1> | |
: public true_type { }; | |
__extension__ | |
template<> | |
struct __is_integral_helper<unsigned __GLIBCXX_TYPE_INT_N_1> | |
: public true_type { }; | |
#endif | |
# 415 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 416 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_2> | |
: public true_type { }; | |
__extension__ | |
template<> | |
struct __is_integral_helper<unsigned __GLIBCXX_TYPE_INT_N_2> | |
: public true_type { }; | |
#endif | |
# 426 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 427 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_3> | |
: public true_type { }; | |
__extension__ | |
template<> | |
struct __is_integral_helper<unsigned __GLIBCXX_TYPE_INT_N_3> | |
: public true_type { }; | |
#endif | |
# 437 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @endcond | |
/// is_integral | |
template<typename _Tp> | |
struct is_integral | |
: public __is_integral_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
/// @cond undocumented | |
template<typename> | |
struct __is_floating_point_helper | |
: public false_type { }; | |
template<> | |
struct __is_floating_point_helper<float> | |
: public true_type { }; | |
template<> | |
struct __is_floating_point_helper<double> | |
: public true_type { }; | |
template<> | |
struct __is_floating_point_helper<long double> | |
: public true_type { }; | |
#ifdef __STDCPP_FLOAT16_T__ | |
template<> | |
struct __is_floating_point_helper<_Float16> | |
: public true_type { }; | |
#endif | |
# 467 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#ifdef __STDCPP_FLOAT32_T__ | |
template<> | |
struct __is_floating_point_helper<_Float32> | |
: public true_type { }; | |
#endif | |
# 473 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#ifdef __STDCPP_FLOAT64_T__ | |
template<> | |
struct __is_floating_point_helper<_Float64> | |
: public true_type { }; | |
#endif | |
# 479 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#ifdef __STDCPP_FLOAT128_T__ | |
template<> | |
struct __is_floating_point_helper<_Float128> | |
: public true_type { }; | |
#endif | |
# 485 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#ifdef __STDCPP_BFLOAT16_T__ | |
template<> | |
struct __is_floating_point_helper<__gnu_cxx::__bfloat16_t> | |
: public true_type { }; | |
#endif | |
# 491 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 493 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<> | |
struct __is_floating_point_helper<__float128> | |
: public true_type { }; | |
#endif | |
# 497 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @endcond | |
/// is_floating_point | |
template<typename _Tp> | |
struct is_floating_point | |
: public __is_floating_point_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
/// is_array | |
template<typename> | |
struct is_array | |
: public false_type { }; | |
template<typename _Tp, std::size_t _Size> | |
struct is_array<_Tp[_Size]> | |
: public true_type { }; | |
template<typename _Tp> | |
struct is_array<_Tp[]> | |
: public true_type { }; | |
template<typename> | |
struct __is_pointer_helper | |
: public false_type { }; | |
template<typename _Tp> | |
struct __is_pointer_helper<_Tp*> | |
: public true_type { }; | |
/// is_pointer | |
template<typename _Tp> | |
struct is_pointer | |
: public __is_pointer_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
/// is_lvalue_reference | |
template<typename> | |
struct is_lvalue_reference | |
: public false_type { }; | |
template<typename _Tp> | |
struct is_lvalue_reference<_Tp&> | |
: public true_type { }; | |
/// is_rvalue_reference | |
template<typename> | |
struct is_rvalue_reference | |
: public false_type { }; | |
template<typename _Tp> | |
struct is_rvalue_reference<_Tp&&> | |
: public true_type { }; | |
template<typename> | |
struct __is_member_object_pointer_helper | |
: public false_type { }; | |
template<typename _Tp, typename _Cp> | |
struct __is_member_object_pointer_helper<_Tp _Cp::*> | |
: public __not_<is_function<_Tp>>::type { }; | |
/// is_member_object_pointer | |
template<typename _Tp> | |
struct is_member_object_pointer | |
: public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
template<typename> | |
struct __is_member_function_pointer_helper | |
: public false_type { }; | |
template<typename _Tp, typename _Cp> | |
struct __is_member_function_pointer_helper<_Tp _Cp::*> | |
: public is_function<_Tp>::type { }; | |
/// is_member_function_pointer | |
template<typename _Tp> | |
struct is_member_function_pointer | |
: public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
/// is_enum | |
template<typename _Tp> | |
struct is_enum | |
: public integral_constant<bool, __is_enum(_Tp)> | |
{ }; | |
/// is_union | |
template<typename _Tp> | |
struct is_union | |
: public integral_constant<bool, __is_union(_Tp)> | |
{ }; | |
/// is_class | |
template<typename _Tp> | |
struct is_class | |
: public integral_constant<bool, __is_class(_Tp)> | |
{ }; | |
/// is_function | |
template<typename _Tp> | |
struct is_function | |
: public __bool_constant<!is_const<const _Tp>::value> { }; | |
template<typename _Tp> | |
struct is_function<_Tp&> | |
: public false_type { }; | |
template<typename _Tp> | |
struct is_function<_Tp&&> | |
: public false_type { }; | |
#define __cpp_lib_is_null_pointer 201309L | |
/// is_null_pointer (LWG 2247). | |
template<typename _Tp> | |
struct is_null_pointer | |
: public false_type { }; | |
template<> | |
struct is_null_pointer<std::nullptr_t> | |
: public true_type { }; | |
template<> | |
struct is_null_pointer<const std::nullptr_t> | |
: public true_type { }; | |
template<> | |
struct is_null_pointer<volatile std::nullptr_t> | |
: public true_type { }; | |
template<> | |
struct is_null_pointer<const volatile std::nullptr_t> | |
: public true_type { }; | |
/// __is_nullptr_t (deprecated extension). | |
/// @deprecated Non-standard. Use `is_null_pointer` instead. | |
template<typename _Tp> | |
struct __is_nullptr_t | |
: public is_null_pointer<_Tp> | |
{ } _GLIBCXX_DEPRECATED_SUGGEST("std::is_null_pointer"); | |
// Composite type categories. | |
/// is_reference | |
template<typename _Tp> | |
struct is_reference | |
: public false_type | |
{ }; | |
template<typename _Tp> | |
struct is_reference<_Tp&> | |
: public true_type | |
{ }; | |
template<typename _Tp> | |
struct is_reference<_Tp&&> | |
: public true_type | |
{ }; | |
/// is_arithmetic | |
template<typename _Tp> | |
struct is_arithmetic | |
: public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type | |
{ }; | |
/// is_fundamental | |
template<typename _Tp> | |
struct is_fundamental | |
: public __or_<is_arithmetic<_Tp>, is_void<_Tp>, | |
is_null_pointer<_Tp>>::type | |
{ }; | |
/// is_object | |
template<typename _Tp> | |
struct is_object | |
: public __not_<__or_<is_function<_Tp>, is_reference<_Tp>, | |
is_void<_Tp>>>::type | |
{ }; | |
template<typename> | |
struct is_member_pointer; | |
/// is_scalar | |
template<typename _Tp> | |
struct is_scalar | |
: public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>, | |
is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type | |
{ }; | |
/// is_compound | |
template<typename _Tp> | |
struct is_compound | |
: public __not_<is_fundamental<_Tp>>::type { }; | |
/// @cond undocumented | |
template<typename _Tp> | |
struct __is_member_pointer_helper | |
: public false_type { }; | |
template<typename _Tp, typename _Cp> | |
struct __is_member_pointer_helper<_Tp _Cp::*> | |
: public true_type { }; | |
/// @endcond | |
/// is_member_pointer | |
template<typename _Tp> | |
struct is_member_pointer | |
: public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type | |
{ }; | |
template<typename, typename> | |
struct is_same; | |
/// @cond undocumented | |
template<typename _Tp, typename... _Types> | |
using __is_one_of = __or_<is_same<_Tp, _Types>...>; | |
// Check if a type is one of the signed integer types. | |
__extension__ | |
template<typename _Tp> | |
using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, | |
signed char, signed short, signed int, signed long, | |
signed long long | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 722 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, signed __GLIBCXX_TYPE_INT_N_0 | |
#endif | |
# 724 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 725 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, signed __GLIBCXX_TYPE_INT_N_1 | |
#endif | |
# 727 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 728 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, signed __GLIBCXX_TYPE_INT_N_2 | |
#endif | |
# 730 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 731 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, signed __GLIBCXX_TYPE_INT_N_3 | |
#endif | |
# 733 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
>; | |
// Check if a type is one of the unsigned integer types. | |
__extension__ | |
template<typename _Tp> | |
using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, | |
unsigned char, unsigned short, unsigned int, unsigned long, | |
unsigned long long | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 742 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, unsigned __GLIBCXX_TYPE_INT_N_0 | |
#endif | |
# 744 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 745 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, unsigned __GLIBCXX_TYPE_INT_N_1 | |
#endif | |
# 747 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 748 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, unsigned __GLIBCXX_TYPE_INT_N_2 | |
#endif | |
# 750 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 751 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
, unsigned __GLIBCXX_TYPE_INT_N_3 | |
#endif | |
# 753 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
>; | |
// Check if a type is one of the signed or unsigned integer types. | |
template<typename _Tp> | |
using __is_standard_integer | |
= __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; | |
// __void_t (std::void_t for C++11) | |
template<typename...> using __void_t = void; | |
/// @endcond | |
// Type properties. | |
/// is_const | |
template<typename> | |
struct is_const | |
: public false_type { }; | |
template<typename _Tp> | |
struct is_const<_Tp const> | |
: public true_type { }; | |
/// is_volatile | |
template<typename> | |
struct is_volatile | |
: public false_type { }; | |
template<typename _Tp> | |
struct is_volatile<_Tp volatile> | |
: public true_type { }; | |
/// is_trivial | |
template<typename _Tp> | |
struct is_trivial | |
: public integral_constant<bool, __is_trivial(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_copyable | |
template<typename _Tp> | |
struct is_trivially_copyable | |
: public integral_constant<bool, __is_trivially_copyable(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_standard_layout | |
template<typename _Tp> | |
struct is_standard_layout | |
: public integral_constant<bool, __is_standard_layout(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/** is_pod | |
* @deprecated Deprecated in C++20. | |
* Use `is_standard_layout && is_trivial` instead. | |
*/ | |
// Could use is_standard_layout && is_trivial instead of the builtin. | |
template<typename _Tp> | |
struct | |
_GLIBCXX20_DEPRECATED_SUGGEST("is_standard_layout && is_trivial") | |
is_pod | |
: public integral_constant<bool, __is_pod(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/** is_literal_type | |
* @deprecated Deprecated in C++17, removed in C++20. | |
* The idea of a literal type isn't useful. | |
*/ | |
template<typename _Tp> | |
struct | |
_GLIBCXX17_DEPRECATED | |
is_literal_type | |
: public integral_constant<bool, __is_literal_type(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_empty | |
template<typename _Tp> | |
struct is_empty | |
: public integral_constant<bool, __is_empty(_Tp)> | |
{ }; | |
/// is_polymorphic | |
template<typename _Tp> | |
struct is_polymorphic | |
: public integral_constant<bool, __is_polymorphic(_Tp)> | |
{ }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 853 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_final 201402L | |
/// is_final | |
/// @since C++14 | |
template<typename _Tp> | |
struct is_final | |
: public integral_constant<bool, __is_final(_Tp)> | |
{ }; | |
#endif | |
# 861 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// is_abstract | |
template<typename _Tp> | |
struct is_abstract | |
: public integral_constant<bool, __is_abstract(_Tp)> | |
{ }; | |
/// @cond undocumented | |
template<typename _Tp, | |
bool = is_arithmetic<_Tp>::value> | |
struct __is_signed_helper | |
: public false_type { }; | |
template<typename _Tp> | |
struct __is_signed_helper<_Tp, true> | |
: public integral_constant<bool, _Tp(-1) < _Tp(0)> | |
{ }; | |
/// @endcond | |
/// is_signed | |
template<typename _Tp> | |
struct is_signed | |
: public __is_signed_helper<_Tp>::type | |
{ }; | |
/// is_unsigned | |
template<typename _Tp> | |
struct is_unsigned | |
: public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type | |
{ }; | |
/// @cond undocumented | |
template<typename _Tp, typename _Up = _Tp&&> | |
_Up | |
__declval(int); | |
template<typename _Tp> | |
_Tp | |
__declval(long); | |
/// @endcond | |
template<typename _Tp> | |
auto declval() noexcept -> decltype(__declval<_Tp>(0)); | |
template<typename> | |
struct remove_all_extents; | |
/// @cond undocumented | |
template<typename _Tp> | |
struct __is_array_known_bounds | |
: public false_type | |
{ }; | |
template<typename _Tp, size_t _Size> | |
struct __is_array_known_bounds<_Tp[_Size]> | |
: public true_type | |
{ }; | |
template<typename _Tp> | |
struct __is_array_unknown_bounds | |
: public false_type | |
{ }; | |
template<typename _Tp> | |
struct __is_array_unknown_bounds<_Tp[]> | |
: public true_type | |
{ }; | |
// Destructible and constructible type properties. | |
// In N3290 is_destructible does not say anything about function | |
// types and abstract types, see LWG 2049. This implementation | |
// describes function types as non-destructible and all complete | |
// object types as destructible, iff the explicit destructor | |
// call expression is wellformed. | |
struct __do_is_destructible_impl | |
{ | |
template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())> | |
static true_type __test(int); | |
template<typename> | |
static false_type __test(...); | |
}; | |
template<typename _Tp> | |
struct __is_destructible_impl | |
: public __do_is_destructible_impl | |
{ | |
typedef decltype(__test<_Tp>(0)) type; | |
}; | |
template<typename _Tp, | |
bool = __or_<is_void<_Tp>, | |
__is_array_unknown_bounds<_Tp>, | |
is_function<_Tp>>::value, | |
bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value> | |
struct __is_destructible_safe; | |
template<typename _Tp> | |
struct __is_destructible_safe<_Tp, false, false> | |
: public __is_destructible_impl<typename | |
remove_all_extents<_Tp>::type>::type | |
{ }; | |
template<typename _Tp> | |
struct __is_destructible_safe<_Tp, true, false> | |
: public false_type { }; | |
template<typename _Tp> | |
struct __is_destructible_safe<_Tp, false, true> | |
: public true_type { }; | |
/// @endcond | |
/// is_destructible | |
template<typename _Tp> | |
struct is_destructible | |
: public __is_destructible_safe<_Tp>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
// is_nothrow_destructible requires that is_destructible is | |
// satisfied as well. We realize that by mimicing the | |
// implementation of is_destructible but refer to noexcept(expr) | |
// instead of decltype(expr). | |
struct __do_is_nt_destructible_impl | |
{ | |
template<typename _Tp> | |
static __bool_constant<noexcept(declval<_Tp&>().~_Tp())> | |
__test(int); | |
template<typename> | |
static false_type __test(...); | |
}; | |
template<typename _Tp> | |
struct __is_nt_destructible_impl | |
: public __do_is_nt_destructible_impl | |
{ | |
typedef decltype(__test<_Tp>(0)) type; | |
}; | |
template<typename _Tp, | |
bool = __or_<is_void<_Tp>, | |
__is_array_unknown_bounds<_Tp>, | |
is_function<_Tp>>::value, | |
bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value> | |
struct __is_nt_destructible_safe; | |
template<typename _Tp> | |
struct __is_nt_destructible_safe<_Tp, false, false> | |
: public __is_nt_destructible_impl<typename | |
remove_all_extents<_Tp>::type>::type | |
{ }; | |
template<typename _Tp> | |
struct __is_nt_destructible_safe<_Tp, true, false> | |
: public false_type { }; | |
template<typename _Tp> | |
struct __is_nt_destructible_safe<_Tp, false, true> | |
: public true_type { }; | |
/// @endcond | |
/// is_nothrow_destructible | |
template<typename _Tp> | |
struct is_nothrow_destructible | |
: public __is_nt_destructible_safe<_Tp>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename... _Args> | |
using __is_constructible_impl | |
= __bool_constant<__is_constructible(_Tp, _Args...)>; | |
/// @endcond | |
/// is_constructible | |
template<typename _Tp, typename... _Args> | |
struct is_constructible | |
: public __is_constructible_impl<_Tp, _Args...> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_default_constructible | |
template<typename _Tp> | |
struct is_default_constructible | |
: public __is_constructible_impl<_Tp> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename = void> | |
struct __add_lvalue_reference_helper | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct __add_lvalue_reference_helper<_Tp, __void_t<_Tp&>> | |
{ using type = _Tp&; }; | |
template<typename _Tp> | |
using __add_lval_ref_t = typename __add_lvalue_reference_helper<_Tp>::type; | |
/// @endcond | |
/// is_copy_constructible | |
template<typename _Tp> | |
struct is_copy_constructible | |
: public __is_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename = void> | |
struct __add_rvalue_reference_helper | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct __add_rvalue_reference_helper<_Tp, __void_t<_Tp&&>> | |
{ using type = _Tp&&; }; | |
template<typename _Tp> | |
using __add_rval_ref_t = typename __add_rvalue_reference_helper<_Tp>::type; | |
/// @endcond | |
/// is_move_constructible | |
template<typename _Tp> | |
struct is_move_constructible | |
: public __is_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename... _Args> | |
using __is_nothrow_constructible_impl | |
= __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>; | |
/// @endcond | |
/// is_nothrow_constructible | |
template<typename _Tp, typename... _Args> | |
struct is_nothrow_constructible | |
: public __is_nothrow_constructible_impl<_Tp, _Args...> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_default_constructible | |
template<typename _Tp> | |
struct is_nothrow_default_constructible | |
: public __is_nothrow_constructible_impl<_Tp> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_copy_constructible | |
template<typename _Tp> | |
struct is_nothrow_copy_constructible | |
: public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_move_constructible | |
template<typename _Tp> | |
struct is_nothrow_move_constructible | |
: public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename _Up> | |
using __is_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>; | |
/// @endcond | |
/// is_assignable | |
template<typename _Tp, typename _Up> | |
struct is_assignable | |
: public __is_assignable_impl<_Tp, _Up> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_copy_assignable | |
template<typename _Tp> | |
struct is_copy_assignable | |
: public __is_assignable_impl<__add_lval_ref_t<_Tp>, | |
__add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_move_assignable | |
template<typename _Tp> | |
struct is_move_assignable | |
: public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename _Up> | |
using __is_nothrow_assignable_impl | |
= __bool_constant<__is_nothrow_assignable(_Tp, _Up)>; | |
/// @endcond | |
/// is_nothrow_assignable | |
template<typename _Tp, typename _Up> | |
struct is_nothrow_assignable | |
: public __is_nothrow_assignable_impl<_Tp, _Up> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_copy_assignable | |
template<typename _Tp> | |
struct is_nothrow_copy_assignable | |
: public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, | |
__add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_move_assignable | |
template<typename _Tp> | |
struct is_nothrow_move_assignable | |
: public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>, | |
__add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename... _Args> | |
using __is_trivially_constructible_impl | |
= __bool_constant<__is_trivially_constructible(_Tp, _Args...)>; | |
/// @endcond | |
/// is_trivially_constructible | |
template<typename _Tp, typename... _Args> | |
struct is_trivially_constructible | |
: public __is_trivially_constructible_impl<_Tp, _Args...> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_default_constructible | |
template<typename _Tp> | |
struct is_trivially_default_constructible | |
: public __is_trivially_constructible_impl<_Tp> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
struct __do_is_implicitly_default_constructible_impl | |
{ | |
template <typename _Tp> | |
static void __helper(const _Tp&); | |
template <typename _Tp> | |
static true_type __test(const _Tp&, | |
decltype(__helper<const _Tp&>({}))* = 0); | |
static false_type __test(...); | |
}; | |
template<typename _Tp> | |
struct __is_implicitly_default_constructible_impl | |
: public __do_is_implicitly_default_constructible_impl | |
{ | |
typedef decltype(__test(declval<_Tp>())) type; | |
}; | |
template<typename _Tp> | |
struct __is_implicitly_default_constructible_safe | |
: public __is_implicitly_default_constructible_impl<_Tp>::type | |
{ }; | |
template <typename _Tp> | |
struct __is_implicitly_default_constructible | |
: public __and_<__is_constructible_impl<_Tp>, | |
__is_implicitly_default_constructible_safe<_Tp>>::type | |
{ }; | |
/// is_trivially_copy_constructible | |
template<typename _Tp> | |
struct is_trivially_copy_constructible | |
: public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_move_constructible | |
template<typename _Tp> | |
struct is_trivially_move_constructible | |
: public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
template<typename _Tp, typename _Up> | |
using __is_trivially_assignable_impl | |
= __bool_constant<__is_trivially_assignable(_Tp, _Up)>; | |
/// @endcond | |
/// is_trivially_assignable | |
template<typename _Tp, typename _Up> | |
struct is_trivially_assignable | |
: public __is_trivially_assignable_impl<_Tp, _Up> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_copy_assignable | |
template<typename _Tp> | |
struct is_trivially_copy_assignable | |
: public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, | |
__add_lval_ref_t<const _Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_move_assignable | |
template<typename _Tp> | |
struct is_trivially_move_assignable | |
: public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>, | |
__add_rval_ref_t<_Tp>> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_trivially_destructible | |
template<typename _Tp> | |
struct is_trivially_destructible | |
: public __and_<__is_destructible_safe<_Tp>, | |
__bool_constant<__has_trivial_destructor(_Tp)>>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// has_virtual_destructor | |
template<typename _Tp> | |
struct has_virtual_destructor | |
: public integral_constant<bool, __has_virtual_destructor(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
// type property queries. | |
/// alignment_of | |
template<typename _Tp> | |
struct alignment_of | |
: public integral_constant<std::size_t, alignof(_Tp)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// rank | |
template<typename> | |
struct rank | |
: public integral_constant<std::size_t, 0> { }; | |
template<typename _Tp, std::size_t _Size> | |
struct rank<_Tp[_Size]> | |
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | |
template<typename _Tp> | |
struct rank<_Tp[]> | |
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | |
/// extent | |
template<typename, unsigned _Uint = 0> | |
struct extent | |
: public integral_constant<size_t, 0> { }; | |
template<typename _Tp, size_t _Size> | |
struct extent<_Tp[_Size], 0> | |
: public integral_constant<size_t, _Size> { }; | |
template<typename _Tp, unsigned _Uint, size_t _Size> | |
struct extent<_Tp[_Size], _Uint> | |
: public extent<_Tp, _Uint - 1>::type { }; | |
template<typename _Tp> | |
struct extent<_Tp[], 0> | |
: public integral_constant<size_t, 0> { }; | |
template<typename _Tp, unsigned _Uint> | |
struct extent<_Tp[], _Uint> | |
: public extent<_Tp, _Uint - 1>::type { }; | |
// Type relations. | |
/// is_same | |
template<typename _Tp, typename _Up> | |
struct is_same | |
#ifdef _GLIBCXX_HAVE_BUILTIN_IS_SAME | |
: public integral_constant<bool, __is_same(_Tp, _Up)> | |
#else | |
# 1397 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
: public false_type | |
#endif | |
# 1399 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
{ }; | |
#ifndef _GLIBCXX_HAVE_BUILTIN_IS_SAME | |
template<typename _Tp> | |
struct is_same<_Tp, _Tp> | |
: public true_type | |
{ }; | |
#endif | |
# 1407 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// is_base_of | |
template<typename _Base, typename _Derived> | |
struct is_base_of | |
: public integral_constant<bool, __is_base_of(_Base, _Derived)> | |
{ }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__is_convertible) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1415 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _From, typename _To> | |
struct is_convertible | |
: public __bool_constant<__is_convertible(_From, _To)> | |
{ }; | |
#else | |
# 1420 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _From, typename _To, | |
bool = __or_<is_void<_From>, is_function<_To>, | |
is_array<_To>>::value> | |
struct __is_convertible_helper | |
{ | |
typedef typename is_void<_To>::type type; | |
}; | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" | |
template<typename _From, typename _To> | |
class __is_convertible_helper<_From, _To, false> | |
{ | |
template<typename _To1> | |
static void __test_aux(_To1) noexcept; | |
template<typename _From1, typename _To1, | |
typename = decltype(__test_aux<_To1>(std::declval<_From1>()))> | |
static true_type | |
__test(int); | |
template<typename, typename> | |
static false_type | |
__test(...); | |
public: | |
typedef decltype(__test<_From, _To>(0)) type; | |
}; | |
#pragma GCC diagnostic pop | |
/// is_convertible | |
template<typename _From, typename _To> | |
struct is_convertible | |
: public __is_convertible_helper<_From, _To>::type | |
{ }; | |
#endif | |
# 1456 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// helper trait for unique_ptr<T[]>, shared_ptr<T[]>, and span<T, N> | |
template<typename _ToElementType, typename _FromElementType> | |
using __is_array_convertible | |
= is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1463 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_nothrow_convertible 201806L | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__is_nothrow_convertible) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1466 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// is_nothrow_convertible_v | |
template<typename _From, typename _To> | |
inline constexpr bool is_nothrow_convertible_v | |
= __is_nothrow_convertible(_From, _To); | |
/// is_nothrow_convertible | |
template<typename _From, typename _To> | |
struct is_nothrow_convertible | |
: public bool_constant<is_nothrow_convertible_v<_From, _To>> | |
{ }; | |
#else | |
# 1477 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _From, typename _To, | |
bool = __or_<is_void<_From>, is_function<_To>, | |
is_array<_To>>::value> | |
struct __is_nt_convertible_helper | |
: is_void<_To> | |
{ }; | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" | |
template<typename _From, typename _To> | |
class __is_nt_convertible_helper<_From, _To, false> | |
{ | |
template<typename _To1> | |
static void __test_aux(_To1) noexcept; | |
template<typename _From1, typename _To1> | |
static | |
__bool_constant<noexcept(__test_aux<_To1>(std::declval<_From1>()))> | |
__test(int); | |
template<typename, typename> | |
static false_type | |
__test(...); | |
public: | |
using type = decltype(__test<_From, _To>(0)); | |
}; | |
#pragma GCC diagnostic pop | |
/// is_nothrow_convertible | |
template<typename _From, typename _To> | |
struct is_nothrow_convertible | |
: public __is_nt_convertible_helper<_From, _To>::type | |
{ }; | |
/// is_nothrow_convertible_v | |
template<typename _From, typename _To> | |
inline constexpr bool is_nothrow_convertible_v | |
= is_nothrow_convertible<_From, _To>::value; | |
#endif | |
# 1517 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif // C++2a | |
# 1518 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Const-volatile modifications. | |
/// remove_const | |
template<typename _Tp> | |
struct remove_const | |
{ typedef _Tp type; }; | |
template<typename _Tp> | |
struct remove_const<_Tp const> | |
{ typedef _Tp type; }; | |
/// remove_volatile | |
template<typename _Tp> | |
struct remove_volatile | |
{ typedef _Tp type; }; | |
template<typename _Tp> | |
struct remove_volatile<_Tp volatile> | |
{ typedef _Tp type; }; | |
/// remove_cv | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__remove_cv) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1541 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_cv | |
{ using type = __remove_cv(_Tp); }; | |
#else | |
# 1545 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_cv | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct remove_cv<const _Tp> | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct remove_cv<volatile _Tp> | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct remove_cv<const volatile _Tp> | |
{ using type = _Tp; }; | |
#endif | |
# 1561 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// add_const | |
template<typename _Tp> | |
struct add_const | |
{ using type = _Tp const; }; | |
/// add_volatile | |
template<typename _Tp> | |
struct add_volatile | |
{ using type = _Tp volatile; }; | |
/// add_cv | |
template<typename _Tp> | |
struct add_cv | |
{ using type = _Tp const volatile; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1578 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_transformation_trait_aliases 201304L | |
/// Alias template for remove_const | |
template<typename _Tp> | |
using remove_const_t = typename remove_const<_Tp>::type; | |
/// Alias template for remove_volatile | |
template<typename _Tp> | |
using remove_volatile_t = typename remove_volatile<_Tp>::type; | |
/// Alias template for remove_cv | |
template<typename _Tp> | |
using remove_cv_t = typename remove_cv<_Tp>::type; | |
/// Alias template for add_const | |
template<typename _Tp> | |
using add_const_t = typename add_const<_Tp>::type; | |
/// Alias template for add_volatile | |
template<typename _Tp> | |
using add_volatile_t = typename add_volatile<_Tp>::type; | |
/// Alias template for add_cv | |
template<typename _Tp> | |
using add_cv_t = typename add_cv<_Tp>::type; | |
#endif | |
# 1605 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Reference transformations. | |
/// remove_reference | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__remove_reference) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1610 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_reference | |
{ using type = __remove_reference(_Tp); }; | |
#else | |
# 1614 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_reference | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct remove_reference<_Tp&> | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct remove_reference<_Tp&&> | |
{ using type = _Tp; }; | |
#endif | |
# 1626 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// add_lvalue_reference | |
template<typename _Tp> | |
struct add_lvalue_reference | |
{ using type = __add_lval_ref_t<_Tp>; }; | |
/// add_rvalue_reference | |
template<typename _Tp> | |
struct add_rvalue_reference | |
{ using type = __add_rval_ref_t<_Tp>; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1638 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// Alias template for remove_reference | |
template<typename _Tp> | |
using remove_reference_t = typename remove_reference<_Tp>::type; | |
/// Alias template for add_lvalue_reference | |
template<typename _Tp> | |
using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; | |
/// Alias template for add_rvalue_reference | |
template<typename _Tp> | |
using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; | |
#endif | |
# 1650 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Sign modifications. | |
/// @cond undocumented | |
// Utility for constructing identically cv-qualified types. | |
template<typename _Unqualified, bool _IsConst, bool _IsVol> | |
struct __cv_selector; | |
template<typename _Unqualified> | |
struct __cv_selector<_Unqualified, false, false> | |
{ typedef _Unqualified __type; }; | |
template<typename _Unqualified> | |
struct __cv_selector<_Unqualified, false, true> | |
{ typedef volatile _Unqualified __type; }; | |
template<typename _Unqualified> | |
struct __cv_selector<_Unqualified, true, false> | |
{ typedef const _Unqualified __type; }; | |
template<typename _Unqualified> | |
struct __cv_selector<_Unqualified, true, true> | |
{ typedef const volatile _Unqualified __type; }; | |
template<typename _Qualified, typename _Unqualified, | |
bool _IsConst = is_const<_Qualified>::value, | |
bool _IsVol = is_volatile<_Qualified>::value> | |
class __match_cv_qualifiers | |
{ | |
typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; | |
public: | |
typedef typename __match::__type __type; | |
}; | |
// Utility for finding the unsigned versions of signed integral types. | |
template<typename _Tp> | |
struct __make_unsigned | |
{ typedef _Tp __type; }; | |
template<> | |
struct __make_unsigned<char> | |
{ typedef unsigned char __type; }; | |
template<> | |
struct __make_unsigned<signed char> | |
{ typedef unsigned char __type; }; | |
template<> | |
struct __make_unsigned<short> | |
{ typedef unsigned short __type; }; | |
template<> | |
struct __make_unsigned<int> | |
{ typedef unsigned int __type; }; | |
template<> | |
struct __make_unsigned<long> | |
{ typedef unsigned long __type; }; | |
template<> | |
struct __make_unsigned<long long> | |
{ typedef unsigned long long __type; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1716 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_unsigned<__GLIBCXX_TYPE_INT_N_0> | |
{ typedef unsigned __GLIBCXX_TYPE_INT_N_0 __type; }; | |
#endif | |
# 1721 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1722 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_unsigned<__GLIBCXX_TYPE_INT_N_1> | |
{ typedef unsigned __GLIBCXX_TYPE_INT_N_1 __type; }; | |
#endif | |
# 1727 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1728 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_unsigned<__GLIBCXX_TYPE_INT_N_2> | |
{ typedef unsigned __GLIBCXX_TYPE_INT_N_2 __type; }; | |
#endif | |
# 1733 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1734 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_unsigned<__GLIBCXX_TYPE_INT_N_3> | |
{ typedef unsigned __GLIBCXX_TYPE_INT_N_3 __type; }; | |
#endif | |
# 1739 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Select between integral and enum: not possible to be both. | |
template<typename _Tp, | |
bool _IsInt = is_integral<_Tp>::value, | |
bool _IsEnum = is_enum<_Tp>::value> | |
class __make_unsigned_selector; | |
template<typename _Tp> | |
class __make_unsigned_selector<_Tp, true, false> | |
{ | |
using __unsigned_type | |
= typename __make_unsigned<__remove_cv_t<_Tp>>::__type; | |
public: | |
using __type | |
= typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; | |
}; | |
class __make_unsigned_selector_base | |
{ | |
protected: | |
template<typename...> struct _List { }; | |
template<typename _Tp, typename... _Up> | |
struct _List<_Tp, _Up...> : _List<_Up...> | |
{ static constexpr size_t __size = sizeof(_Tp); }; | |
template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)> | |
struct __select; | |
template<size_t _Sz, typename _Uint, typename... _UInts> | |
struct __select<_Sz, _List<_Uint, _UInts...>, true> | |
{ using __type = _Uint; }; | |
template<size_t _Sz, typename _Uint, typename... _UInts> | |
struct __select<_Sz, _List<_Uint, _UInts...>, false> | |
: __select<_Sz, _List<_UInts...>> | |
{ }; | |
}; | |
// Choose unsigned integer type with the smallest rank and same size as _Tp | |
template<typename _Tp> | |
class __make_unsigned_selector<_Tp, false, true> | |
: __make_unsigned_selector_base | |
{ | |
// With -fshort-enums, an enum may be as small as a char. | |
using _UInts = _List<unsigned char, unsigned short, unsigned int, | |
unsigned long, unsigned long long>; | |
using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type; | |
public: | |
using __type | |
= typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; | |
}; | |
// wchar_t, char8_t, char16_t and char32_t are integral types but are | |
// neither signed integer types nor unsigned integer types, so must be | |
// transformed to the unsigned integer type with the smallest rank. | |
// Use the partial specialization for enumeration types to do that. | |
template<> | |
struct __make_unsigned<wchar_t> | |
{ | |
using __type | |
= typename __make_unsigned_selector<wchar_t, false, true>::__type; | |
}; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
template<> | |
struct __make_unsigned<char8_t> | |
{ | |
using __type | |
= typename __make_unsigned_selector<char8_t, false, true>::__type; | |
}; | |
#endif | |
# 1814 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<> | |
struct __make_unsigned<char16_t> | |
{ | |
using __type | |
= typename __make_unsigned_selector<char16_t, false, true>::__type; | |
}; | |
template<> | |
struct __make_unsigned<char32_t> | |
{ | |
using __type | |
= typename __make_unsigned_selector<char32_t, false, true>::__type; | |
}; | |
/// @endcond | |
// Given an integral/enum type, return the corresponding unsigned | |
// integer type. | |
// Primary template. | |
/// make_unsigned | |
template<typename _Tp> | |
struct make_unsigned | |
{ typedef typename __make_unsigned_selector<_Tp>::__type type; }; | |
// Integral, but don't define. | |
template<> struct make_unsigned<bool>; | |
template<> struct make_unsigned<bool const>; | |
template<> struct make_unsigned<bool volatile>; | |
template<> struct make_unsigned<bool const volatile>; | |
/// @cond undocumented | |
// Utility for finding the signed versions of unsigned integral types. | |
template<typename _Tp> | |
struct __make_signed | |
{ typedef _Tp __type; }; | |
template<> | |
struct __make_signed<char> | |
{ typedef signed char __type; }; | |
template<> | |
struct __make_signed<unsigned char> | |
{ typedef signed char __type; }; | |
template<> | |
struct __make_signed<unsigned short> | |
{ typedef signed short __type; }; | |
template<> | |
struct __make_signed<unsigned int> | |
{ typedef signed int __type; }; | |
template<> | |
struct __make_signed<unsigned long> | |
{ typedef signed long __type; }; | |
template<> | |
struct __make_signed<unsigned long long> | |
{ typedef signed long long __type; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_0) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1876 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_signed<unsigned __GLIBCXX_TYPE_INT_N_0> | |
{ typedef __GLIBCXX_TYPE_INT_N_0 __type; }; | |
#endif | |
# 1881 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_1) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1882 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_signed<unsigned __GLIBCXX_TYPE_INT_N_1> | |
{ typedef __GLIBCXX_TYPE_INT_N_1 __type; }; | |
#endif | |
# 1887 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1888 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_signed<unsigned __GLIBCXX_TYPE_INT_N_2> | |
{ typedef __GLIBCXX_TYPE_INT_N_2 __type; }; | |
#endif | |
# 1893 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__GLIBCXX_TYPE_INT_N_3) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1894 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
__extension__ | |
template<> | |
struct __make_signed<unsigned __GLIBCXX_TYPE_INT_N_3> | |
{ typedef __GLIBCXX_TYPE_INT_N_3 __type; }; | |
#endif | |
# 1899 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Select between integral and enum: not possible to be both. | |
template<typename _Tp, | |
bool _IsInt = is_integral<_Tp>::value, | |
bool _IsEnum = is_enum<_Tp>::value> | |
class __make_signed_selector; | |
template<typename _Tp> | |
class __make_signed_selector<_Tp, true, false> | |
{ | |
using __signed_type | |
= typename __make_signed<__remove_cv_t<_Tp>>::__type; | |
public: | |
using __type | |
= typename __match_cv_qualifiers<_Tp, __signed_type>::__type; | |
}; | |
// Choose signed integer type with the smallest rank and same size as _Tp | |
template<typename _Tp> | |
class __make_signed_selector<_Tp, false, true> | |
{ | |
typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; | |
public: | |
typedef typename __make_signed_selector<__unsigned_type>::__type __type; | |
}; | |
// wchar_t, char16_t and char32_t are integral types but are neither | |
// signed integer types nor unsigned integer types, so must be | |
// transformed to the signed integer type with the smallest rank. | |
// Use the partial specialization for enumeration types to do that. | |
template<> | |
struct __make_signed<wchar_t> | |
{ | |
using __type | |
= typename __make_signed_selector<wchar_t, false, true>::__type; | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(_GLIBCXX_USE_CHAR8_T) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1939 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<> | |
struct __make_signed<char8_t> | |
{ | |
using __type | |
= typename __make_signed_selector<char8_t, false, true>::__type; | |
}; | |
#endif | |
# 1946 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<> | |
struct __make_signed<char16_t> | |
{ | |
using __type | |
= typename __make_signed_selector<char16_t, false, true>::__type; | |
}; | |
template<> | |
struct __make_signed<char32_t> | |
{ | |
using __type | |
= typename __make_signed_selector<char32_t, false, true>::__type; | |
}; | |
/// @endcond | |
// Given an integral/enum type, return the corresponding signed | |
// integer type. | |
// Primary template. | |
/// make_signed | |
template<typename _Tp> | |
struct make_signed | |
{ typedef typename __make_signed_selector<_Tp>::__type type; }; | |
// Integral, but don't define. | |
template<> struct make_signed<bool>; | |
template<> struct make_signed<bool const>; | |
template<> struct make_signed<bool volatile>; | |
template<> struct make_signed<bool const volatile>; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 1977 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// Alias template for make_signed | |
template<typename _Tp> | |
using make_signed_t = typename make_signed<_Tp>::type; | |
/// Alias template for make_unsigned | |
template<typename _Tp> | |
using make_unsigned_t = typename make_unsigned<_Tp>::type; | |
#endif | |
# 1985 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Array modifications. | |
/// remove_extent | |
template<typename _Tp> | |
struct remove_extent | |
{ typedef _Tp type; }; | |
template<typename _Tp, std::size_t _Size> | |
struct remove_extent<_Tp[_Size]> | |
{ typedef _Tp type; }; | |
template<typename _Tp> | |
struct remove_extent<_Tp[]> | |
{ typedef _Tp type; }; | |
/// remove_all_extents | |
template<typename _Tp> | |
struct remove_all_extents | |
{ typedef _Tp type; }; | |
template<typename _Tp, std::size_t _Size> | |
struct remove_all_extents<_Tp[_Size]> | |
{ typedef typename remove_all_extents<_Tp>::type type; }; | |
template<typename _Tp> | |
struct remove_all_extents<_Tp[]> | |
{ typedef typename remove_all_extents<_Tp>::type type; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 2015 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// Alias template for remove_extent | |
template<typename _Tp> | |
using remove_extent_t = typename remove_extent<_Tp>::type; | |
/// Alias template for remove_all_extents | |
template<typename _Tp> | |
using remove_all_extents_t = typename remove_all_extents<_Tp>::type; | |
#endif | |
# 2023 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Pointer modifications. | |
template<typename _Tp, typename> | |
struct __remove_pointer_helper | |
{ typedef _Tp type; }; | |
template<typename _Tp, typename _Up> | |
struct __remove_pointer_helper<_Tp, _Up*> | |
{ typedef _Up type; }; | |
/// remove_pointer | |
template<typename _Tp> | |
struct remove_pointer | |
: public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>> | |
{ }; | |
template<typename _Tp, typename = void> | |
struct __add_pointer_helper | |
{ using type = _Tp; }; | |
template<typename _Tp> | |
struct __add_pointer_helper<_Tp, __void_t<_Tp*>> | |
{ using type = _Tp*; }; | |
/// add_pointer | |
template<typename _Tp> | |
struct add_pointer | |
: public __add_pointer_helper<_Tp> | |
{ }; | |
template<typename _Tp> | |
struct add_pointer<_Tp&> | |
{ using type = _Tp*; }; | |
template<typename _Tp> | |
struct add_pointer<_Tp&&> | |
{ using type = _Tp*; }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 2063 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// Alias template for remove_pointer | |
template<typename _Tp> | |
using remove_pointer_t = typename remove_pointer<_Tp>::type; | |
/// Alias template for add_pointer | |
template<typename _Tp> | |
using add_pointer_t = typename add_pointer<_Tp>::type; | |
#endif | |
# 2071 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<std::size_t _Len> | |
struct __aligned_storage_msa | |
{ | |
union __type | |
{ | |
unsigned char __data[_Len]; | |
struct __attribute__((__aligned__)) { } __align; | |
}; | |
}; | |
/** | |
* @brief Alignment type. | |
* | |
* The value of _Align is a default-alignment which shall be the | |
* most stringent alignment requirement for any C++ object type | |
* whose size is no greater than _Len (3.9). The member typedef | |
* type shall be a POD type suitable for use as uninitialized | |
* storage for any object whose size is at most _Len and whose | |
* alignment is a divisor of _Align. | |
* | |
* @deprecated Deprecated in C++23. Uses can be replaced by an | |
* array std::byte[_Len] declared with alignas(_Align). | |
*/ | |
template<std::size_t _Len, std::size_t _Align = | |
__alignof__(typename __aligned_storage_msa<_Len>::__type)> | |
struct | |
_GLIBCXX23_DEPRECATED | |
aligned_storage | |
{ | |
union type | |
{ | |
unsigned char __data[_Len]; | |
struct __attribute__((__aligned__((_Align)))) { } __align; | |
}; | |
}; | |
template <typename... _Types> | |
struct __strictest_alignment | |
{ | |
static const size_t _S_alignment = 0; | |
static const size_t _S_size = 0; | |
}; | |
template <typename _Tp, typename... _Types> | |
struct __strictest_alignment<_Tp, _Types...> | |
{ | |
static const size_t _S_alignment = | |
alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment | |
? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; | |
static const size_t _S_size = | |
sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size | |
? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; | |
}; | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
/** | |
* @brief Provide aligned storage for types. | |
* | |
* [meta.trans.other] | |
* | |
* Provides aligned storage for any of the provided types of at | |
* least size _Len. | |
* | |
* @see aligned_storage | |
* | |
* @deprecated Deprecated in C++23. | |
*/ | |
template <size_t _Len, typename... _Types> | |
struct | |
_GLIBCXX23_DEPRECATED | |
aligned_union | |
{ | |
private: | |
static_assert(sizeof...(_Types) != 0, "At least one type is required"); | |
using __strictest = __strictest_alignment<_Types...>; | |
static const size_t _S_len = _Len > __strictest::_S_size | |
? _Len : __strictest::_S_size; | |
public: | |
/// The value of the strictest alignment of _Types. | |
static const size_t alignment_value = __strictest::_S_alignment; | |
/// The storage. | |
typedef typename aligned_storage<_S_len, alignment_value>::type type; | |
}; | |
template <size_t _Len, typename... _Types> | |
const size_t aligned_union<_Len, _Types...>::alignment_value; | |
#pragma GCC diagnostic pop | |
/// @cond undocumented | |
// Decay trait for arrays and functions, used for perfect forwarding | |
// in make_pair, make_tuple, etc. | |
template<typename _Up> | |
struct __decay_selector | |
: __conditional_t<is_const<const _Up>::value, // false for functions | |
remove_cv<_Up>, // N.B. DR 705. | |
add_pointer<_Up>> // function decays to pointer | |
{ }; | |
template<typename _Up, size_t _Nm> | |
struct __decay_selector<_Up[_Nm]> | |
{ using type = _Up*; }; | |
template<typename _Up> | |
struct __decay_selector<_Up[]> | |
{ using type = _Up*; }; | |
/// @endcond | |
/// decay | |
template<typename _Tp> | |
struct decay | |
{ using type = typename __decay_selector<_Tp>::type; }; | |
template<typename _Tp> | |
struct decay<_Tp&> | |
{ using type = typename __decay_selector<_Tp>::type; }; | |
template<typename _Tp> | |
struct decay<_Tp&&> | |
{ using type = typename __decay_selector<_Tp>::type; }; | |
/// @cond undocumented | |
// Helper which adds a reference to a type when given a reference_wrapper | |
template<typename _Tp> | |
struct __strip_reference_wrapper | |
{ | |
typedef _Tp __type; | |
}; | |
template<typename _Tp> | |
struct __strip_reference_wrapper<reference_wrapper<_Tp> > | |
{ | |
typedef _Tp& __type; | |
}; | |
// __decay_t (std::decay_t for C++11). | |
template<typename _Tp> | |
using __decay_t = typename decay<_Tp>::type; | |
template<typename _Tp> | |
using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; | |
/// @endcond | |
/// @cond undocumented | |
// Helper for SFINAE constraints | |
template<typename... _Cond> | |
using _Require = __enable_if_t<__and_<_Cond...>::value>; | |
// __remove_cvref_t (std::remove_cvref_t for C++11). | |
template<typename _Tp> | |
using __remove_cvref_t | |
= typename remove_cv<typename remove_reference<_Tp>::type>::type; | |
/// @endcond | |
// Primary template. | |
/// Define a member typedef @c type to one of two argument types. | |
template<bool _Cond, typename _Iftrue, typename _Iffalse> | |
struct conditional | |
{ typedef _Iftrue type; }; | |
// Partial specialization for false. | |
template<typename _Iftrue, typename _Iffalse> | |
struct conditional<false, _Iftrue, _Iffalse> | |
{ typedef _Iffalse type; }; | |
/// common_type | |
template<typename... _Tp> | |
struct common_type; | |
// Sfinae-friendly common_type implementation: | |
/// @cond undocumented | |
// For several sfinae-friendly trait implementations we transport both the | |
// result information (as the member type) and the failure information (no | |
// member type). This is very similar to std::enable_if, but we cannot use | |
// that, because we need to derive from them as an implementation detail. | |
template<typename _Tp> | |
struct __success_type | |
{ typedef _Tp type; }; | |
struct __failure_type | |
{ }; | |
struct __do_common_type_impl | |
{ | |
template<typename _Tp, typename _Up> | |
using __cond_t | |
= decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); | |
// if decay_t<decltype(false ? declval<D1>() : declval<D2>())> | |
// denotes a valid type, let C denote that type. | |
template<typename _Tp, typename _Up> | |
static __success_type<__decay_t<__cond_t<_Tp, _Up>>> | |
_S_test(int); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2276 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Otherwise, if COND-RES(CREF(D1), CREF(D2)) denotes a type, | |
// let C denote the type decay_t<COND-RES(CREF(D1), CREF(D2))>. | |
template<typename _Tp, typename _Up> | |
static __success_type<__remove_cvref_t<__cond_t<const _Tp&, const _Up&>>> | |
_S_test_2(int); | |
#endif | |
# 2282 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename, typename> | |
static __failure_type | |
_S_test_2(...); | |
template<typename _Tp, typename _Up> | |
static decltype(_S_test_2<_Tp, _Up>(0)) | |
_S_test(...); | |
}; | |
// If sizeof...(T) is zero, there shall be no member type. | |
template<> | |
struct common_type<> | |
{ }; | |
// If sizeof...(T) is one, the same type, if any, as common_type_t<T0, T0>. | |
template<typename _Tp0> | |
struct common_type<_Tp0> | |
: public common_type<_Tp0, _Tp0> | |
{ }; | |
// If sizeof...(T) is two, ... | |
template<typename _Tp1, typename _Tp2, | |
typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>> | |
struct __common_type_impl | |
{ | |
// If is_same_v<T1, D1> is false or is_same_v<T2, D2> is false, | |
// let C denote the same type, if any, as common_type_t<D1, D2>. | |
using type = common_type<_Dp1, _Dp2>; | |
}; | |
template<typename _Tp1, typename _Tp2> | |
struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> | |
: private __do_common_type_impl | |
{ | |
// Otherwise, if decay_t<decltype(false ? declval<D1>() : declval<D2>())> | |
// denotes a valid type, let C denote that type. | |
using type = decltype(_S_test<_Tp1, _Tp2>(0)); | |
}; | |
// If sizeof...(T) is two, ... | |
template<typename _Tp1, typename _Tp2> | |
struct common_type<_Tp1, _Tp2> | |
: public __common_type_impl<_Tp1, _Tp2>::type | |
{ }; | |
template<typename...> | |
struct __common_type_pack | |
{ }; | |
template<typename, typename, typename = void> | |
struct __common_type_fold; | |
// If sizeof...(T) is greater than two, ... | |
template<typename _Tp1, typename _Tp2, typename... _Rp> | |
struct common_type<_Tp1, _Tp2, _Rp...> | |
: public __common_type_fold<common_type<_Tp1, _Tp2>, | |
__common_type_pack<_Rp...>> | |
{ }; | |
// Let C denote the same type, if any, as common_type_t<T1, T2>. | |
// If there is such a type C, type shall denote the same type, if any, | |
// as common_type_t<C, R...>. | |
template<typename _CTp, typename... _Rp> | |
struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, | |
__void_t<typename _CTp::type>> | |
: public common_type<typename _CTp::type, _Rp...> | |
{ }; | |
// Otherwise, there shall be no member type. | |
template<typename _CTp, typename _Rp> | |
struct __common_type_fold<_CTp, _Rp, void> | |
{ }; | |
template<typename _Tp, bool = is_enum<_Tp>::value> | |
struct __underlying_type_impl | |
{ | |
using type = __underlying_type(_Tp); | |
}; | |
template<typename _Tp> | |
struct __underlying_type_impl<_Tp, false> | |
{ }; | |
/// @endcond | |
/// The underlying type of an enum. | |
template<typename _Tp> | |
struct underlying_type | |
: public __underlying_type_impl<_Tp> | |
{ }; | |
/// @cond undocumented | |
template<typename _Tp> | |
struct __declval_protector | |
{ | |
static const bool __stop = false; | |
}; | |
/// @endcond | |
/** Utility to simplify expressions used in unevaluated operands | |
* @since C++11 | |
* @ingroup utilities | |
*/ | |
template<typename _Tp> | |
auto declval() noexcept -> decltype(__declval<_Tp>(0)) | |
{ | |
static_assert(__declval_protector<_Tp>::__stop, | |
"declval() must not be used!"); | |
return __declval<_Tp>(0); | |
} | |
/// result_of | |
template<typename _Signature> | |
struct result_of; | |
// Sfinae-friendly result_of implementation: | |
#define __cpp_lib_result_of_sfinae 201210L | |
/// @cond undocumented | |
struct __invoke_memfun_ref { }; | |
struct __invoke_memfun_deref { }; | |
struct __invoke_memobj_ref { }; | |
struct __invoke_memobj_deref { }; | |
struct __invoke_other { }; | |
// Associate a tag type with a specialization of __success_type. | |
template<typename _Tp, typename _Tag> | |
struct __result_of_success : __success_type<_Tp> | |
{ using __invoke_type = _Tag; }; | |
// [func.require] paragraph 1 bullet 1: | |
struct __result_of_memfun_ref_impl | |
{ | |
template<typename _Fp, typename _Tp1, typename... _Args> | |
static __result_of_success<decltype( | |
(std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...) | |
), __invoke_memfun_ref> _S_test(int); | |
template<typename...> | |
static __failure_type _S_test(...); | |
}; | |
template<typename _MemPtr, typename _Arg, typename... _Args> | |
struct __result_of_memfun_ref | |
: private __result_of_memfun_ref_impl | |
{ | |
typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; | |
}; | |
// [func.require] paragraph 1 bullet 2: | |
struct __result_of_memfun_deref_impl | |
{ | |
template<typename _Fp, typename _Tp1, typename... _Args> | |
static __result_of_success<decltype( | |
((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...) | |
), __invoke_memfun_deref> _S_test(int); | |
template<typename...> | |
static __failure_type _S_test(...); | |
}; | |
template<typename _MemPtr, typename _Arg, typename... _Args> | |
struct __result_of_memfun_deref | |
: private __result_of_memfun_deref_impl | |
{ | |
typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; | |
}; | |
// [func.require] paragraph 1 bullet 3: | |
struct __result_of_memobj_ref_impl | |
{ | |
template<typename _Fp, typename _Tp1> | |
static __result_of_success<decltype( | |
std::declval<_Tp1>().*std::declval<_Fp>() | |
), __invoke_memobj_ref> _S_test(int); | |
template<typename, typename> | |
static __failure_type _S_test(...); | |
}; | |
template<typename _MemPtr, typename _Arg> | |
struct __result_of_memobj_ref | |
: private __result_of_memobj_ref_impl | |
{ | |
typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; | |
}; | |
// [func.require] paragraph 1 bullet 4: | |
struct __result_of_memobj_deref_impl | |
{ | |
template<typename _Fp, typename _Tp1> | |
static __result_of_success<decltype( | |
(*std::declval<_Tp1>()).*std::declval<_Fp>() | |
), __invoke_memobj_deref> _S_test(int); | |
template<typename, typename> | |
static __failure_type _S_test(...); | |
}; | |
template<typename _MemPtr, typename _Arg> | |
struct __result_of_memobj_deref | |
: private __result_of_memobj_deref_impl | |
{ | |
typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; | |
}; | |
template<typename _MemPtr, typename _Arg> | |
struct __result_of_memobj; | |
template<typename _Res, typename _Class, typename _Arg> | |
struct __result_of_memobj<_Res _Class::*, _Arg> | |
{ | |
typedef __remove_cvref_t<_Arg> _Argval; | |
typedef _Res _Class::* _MemPtr; | |
typedef typename __conditional_t<__or_<is_same<_Argval, _Class>, | |
is_base_of<_Class, _Argval>>::value, | |
__result_of_memobj_ref<_MemPtr, _Arg>, | |
__result_of_memobj_deref<_MemPtr, _Arg> | |
>::type type; | |
}; | |
template<typename _MemPtr, typename _Arg, typename... _Args> | |
struct __result_of_memfun; | |
template<typename _Res, typename _Class, typename _Arg, typename... _Args> | |
struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> | |
{ | |
typedef typename remove_reference<_Arg>::type _Argval; | |
typedef _Res _Class::* _MemPtr; | |
typedef typename __conditional_t<is_base_of<_Class, _Argval>::value, | |
__result_of_memfun_ref<_MemPtr, _Arg, _Args...>, | |
__result_of_memfun_deref<_MemPtr, _Arg, _Args...> | |
>::type type; | |
}; | |
// _GLIBCXX_RESOLVE_LIB_DEFECTS | |
// 2219. INVOKE-ing a pointer to member with a reference_wrapper | |
// as the object expression | |
// Used by result_of, invoke etc. to unwrap a reference_wrapper. | |
template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>> | |
struct __inv_unwrap | |
{ | |
using type = _Tp; | |
}; | |
template<typename _Tp, typename _Up> | |
struct __inv_unwrap<_Tp, reference_wrapper<_Up>> | |
{ | |
using type = _Up&; | |
}; | |
template<bool, bool, typename _Functor, typename... _ArgTypes> | |
struct __result_of_impl | |
{ | |
typedef __failure_type type; | |
}; | |
template<typename _MemPtr, typename _Arg> | |
struct __result_of_impl<true, false, _MemPtr, _Arg> | |
: public __result_of_memobj<__decay_t<_MemPtr>, | |
typename __inv_unwrap<_Arg>::type> | |
{ }; | |
template<typename _MemPtr, typename _Arg, typename... _Args> | |
struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...> | |
: public __result_of_memfun<__decay_t<_MemPtr>, | |
typename __inv_unwrap<_Arg>::type, _Args...> | |
{ }; | |
// [func.require] paragraph 1 bullet 5: | |
struct __result_of_other_impl | |
{ | |
template<typename _Fn, typename... _Args> | |
static __result_of_success<decltype( | |
std::declval<_Fn>()(std::declval<_Args>()...) | |
), __invoke_other> _S_test(int); | |
template<typename...> | |
static __failure_type _S_test(...); | |
}; | |
template<typename _Functor, typename... _ArgTypes> | |
struct __result_of_impl<false, false, _Functor, _ArgTypes...> | |
: private __result_of_other_impl | |
{ | |
typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; | |
}; | |
// __invoke_result (std::invoke_result for C++11) | |
template<typename _Functor, typename... _ArgTypes> | |
struct __invoke_result | |
: public __result_of_impl< | |
is_member_object_pointer< | |
typename remove_reference<_Functor>::type | |
>::value, | |
is_member_function_pointer< | |
typename remove_reference<_Functor>::type | |
>::value, | |
_Functor, _ArgTypes... | |
>::type | |
{ }; | |
/// @endcond | |
template<typename _Functor, typename... _ArgTypes> | |
struct result_of<_Functor(_ArgTypes...)> | |
: public __invoke_result<_Functor, _ArgTypes...> | |
{ } _GLIBCXX17_DEPRECATED_SUGGEST("std::invoke_result"); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 2593 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations" | |
/// Alias template for aligned_storage | |
template<size_t _Len, size_t _Align = | |
__alignof__(typename __aligned_storage_msa<_Len>::__type)> | |
using aligned_storage_t _GLIBCXX23_DEPRECATED = typename aligned_storage<_Len, _Align>::type; | |
template <size_t _Len, typename... _Types> | |
using aligned_union_t _GLIBCXX23_DEPRECATED = typename aligned_union<_Len, _Types...>::type; | |
#pragma GCC diagnostic pop | |
/// Alias template for decay | |
template<typename _Tp> | |
using decay_t = typename decay<_Tp>::type; | |
/// Alias template for enable_if | |
template<bool _Cond, typename _Tp = void> | |
using enable_if_t = typename enable_if<_Cond, _Tp>::type; | |
/// Alias template for conditional | |
template<bool _Cond, typename _Iftrue, typename _Iffalse> | |
using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; | |
/// Alias template for common_type | |
template<typename... _Tp> | |
using common_type_t = typename common_type<_Tp...>::type; | |
/// Alias template for underlying_type | |
template<typename _Tp> | |
using underlying_type_t = typename underlying_type<_Tp>::type; | |
/// Alias template for result_of | |
template<typename _Tp> | |
using result_of_t = typename result_of<_Tp>::type; | |
#endif // C++14 | |
# 2628 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++11 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2630 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_void_t 201411L | |
/// A metafunction that always yields void, used for detecting valid types. | |
template<typename...> using void_t = void; | |
#endif | |
# 2634 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @cond undocumented | |
// Detection idiom. | |
// Detect whether _Op<_Args...> is a valid type, use default _Def if not. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_concepts | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2641 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// Implementation of the detection idiom (negative case). | |
template<typename _Def, template<typename...> class _Op, typename... _Args> | |
struct __detected_or | |
{ | |
using type = _Def; | |
using __is_detected = false_type; | |
}; | |
// Implementation of the detection idiom (positive case). | |
template<typename _Def, template<typename...> class _Op, typename... _Args> | |
requires requires { typename _Op<_Args...>; } | |
struct __detected_or<_Def, _Op, _Args...> | |
{ | |
using type = _Op<_Args...>; | |
using __is_detected = true_type; | |
}; | |
#else | |
# 2658 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// Implementation of the detection idiom (negative case). | |
template<typename _Default, typename _AlwaysVoid, | |
template<typename...> class _Op, typename... _Args> | |
struct __detector | |
{ | |
using type = _Default; | |
using __is_detected = false_type; | |
}; | |
/// Implementation of the detection idiom (positive case). | |
template<typename _Default, template<typename...> class _Op, | |
typename... _Args> | |
struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> | |
{ | |
using type = _Op<_Args...>; | |
using __is_detected = true_type; | |
}; | |
template<typename _Default, template<typename...> class _Op, | |
typename... _Args> | |
using __detected_or = __detector<_Default, void, _Op, _Args...>; | |
#endif // __cpp_concepts | |
# 2680 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
// _Op<_Args...> if that is a valid type, otherwise _Default. | |
template<typename _Default, template<typename...> class _Op, | |
typename... _Args> | |
using __detected_or_t | |
= typename __detected_or<_Default, _Op, _Args...>::type; | |
/** | |
* Use SFINAE to determine if the type _Tp has a publicly-accessible | |
* member type _NTYPE. | |
*/ | |
#define _GLIBCXX_HAS_NESTED_TYPE(_NTYPE) \ | |
template<typename _Tp, typename = __void_t<>> \ | |
struct __has_##_NTYPE \ | |
: false_type \ | |
{ }; \ | |
template<typename _Tp> \ | |
struct __has_##_NTYPE<_Tp, __void_t<typename _Tp::_NTYPE>> \ | |
: true_type \ | |
{ }; | |
template <typename _Tp> | |
struct __is_swappable; | |
template <typename _Tp> | |
struct __is_nothrow_swappable; | |
template<typename> | |
struct __is_tuple_like_impl : false_type | |
{ }; | |
// Internal type trait that allows us to sfinae-protect tuple_cat. | |
template<typename _Tp> | |
struct __is_tuple_like | |
: public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type | |
{ }; | |
/// @endcond | |
template<typename _Tp> | |
_GLIBCXX20_CONSTEXPR | |
inline | |
_Require<__not_<__is_tuple_like<_Tp>>, | |
is_move_constructible<_Tp>, | |
is_move_assignable<_Tp>> | |
swap(_Tp&, _Tp&) | |
noexcept(__and_<is_nothrow_move_constructible<_Tp>, | |
is_nothrow_move_assignable<_Tp>>::value); | |
template<typename _Tp, size_t _Nm> | |
_GLIBCXX20_CONSTEXPR | |
inline | |
__enable_if_t<__is_swappable<_Tp>::value> | |
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) | |
noexcept(__is_nothrow_swappable<_Tp>::value); | |
/// @cond undocumented | |
namespace __swappable_details { | |
using std::swap; | |
struct __do_is_swappable_impl | |
{ | |
template<typename _Tp, typename | |
= decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))> | |
static true_type __test(int); | |
template<typename> | |
static false_type __test(...); | |
}; | |
struct __do_is_nothrow_swappable_impl | |
{ | |
template<typename _Tp> | |
static __bool_constant< | |
noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) | |
> __test(int); | |
template<typename> | |
static false_type __test(...); | |
}; | |
} // namespace __swappable_details | |
template<typename _Tp> | |
struct __is_swappable_impl | |
: public __swappable_details::__do_is_swappable_impl | |
{ | |
typedef decltype(__test<_Tp>(0)) type; | |
}; | |
template<typename _Tp> | |
struct __is_nothrow_swappable_impl | |
: public __swappable_details::__do_is_nothrow_swappable_impl | |
{ | |
typedef decltype(__test<_Tp>(0)) type; | |
}; | |
template<typename _Tp> | |
struct __is_swappable | |
: public __is_swappable_impl<_Tp>::type | |
{ }; | |
template<typename _Tp> | |
struct __is_nothrow_swappable | |
: public __is_nothrow_swappable_impl<_Tp>::type | |
{ }; | |
/// @endcond | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2788 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_swappable 201603L | |
/// Metafunctions used for detecting swappable types: p0185r1 | |
/// is_swappable | |
template<typename _Tp> | |
struct is_swappable | |
: public __is_swappable_impl<_Tp>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_swappable | |
template<typename _Tp> | |
struct is_nothrow_swappable | |
: public __is_nothrow_swappable_impl<_Tp>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2810 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// is_swappable_v | |
template<typename _Tp> | |
_GLIBCXX17_INLINE constexpr bool is_swappable_v = | |
is_swappable<_Tp>::value; | |
/// is_nothrow_swappable_v | |
template<typename _Tp> | |
_GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_v = | |
is_nothrow_swappable<_Tp>::value; | |
#endif // __cplusplus >= 201402L | |
# 2820 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @cond undocumented | |
namespace __swappable_with_details { | |
using std::swap; | |
struct __do_is_swappable_with_impl | |
{ | |
template<typename _Tp, typename _Up, typename | |
= decltype(swap(std::declval<_Tp>(), std::declval<_Up>())), | |
typename | |
= decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> | |
static true_type __test(int); | |
template<typename, typename> | |
static false_type __test(...); | |
}; | |
struct __do_is_nothrow_swappable_with_impl | |
{ | |
template<typename _Tp, typename _Up> | |
static __bool_constant< | |
noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) | |
&& | |
noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) | |
> __test(int); | |
template<typename, typename> | |
static false_type __test(...); | |
}; | |
} // namespace __swappable_with_details | |
template<typename _Tp, typename _Up> | |
struct __is_swappable_with_impl | |
: public __swappable_with_details::__do_is_swappable_with_impl | |
{ | |
typedef decltype(__test<_Tp, _Up>(0)) type; | |
}; | |
// Optimization for the homogenous lvalue case, not required: | |
template<typename _Tp> | |
struct __is_swappable_with_impl<_Tp&, _Tp&> | |
: public __swappable_details::__do_is_swappable_impl | |
{ | |
typedef decltype(__test<_Tp&>(0)) type; | |
}; | |
template<typename _Tp, typename _Up> | |
struct __is_nothrow_swappable_with_impl | |
: public __swappable_with_details::__do_is_nothrow_swappable_with_impl | |
{ | |
typedef decltype(__test<_Tp, _Up>(0)) type; | |
}; | |
// Optimization for the homogenous lvalue case, not required: | |
template<typename _Tp> | |
struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> | |
: public __swappable_details::__do_is_nothrow_swappable_impl | |
{ | |
typedef decltype(__test<_Tp&>(0)) type; | |
}; | |
/// @endcond | |
/// is_swappable_with | |
template<typename _Tp, typename _Up> | |
struct is_swappable_with | |
: public __is_swappable_with_impl<_Tp, _Up>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"first template argument must be a complete class or an unbounded array"); | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), | |
"second template argument must be a complete class or an unbounded array"); | |
}; | |
/// is_nothrow_swappable_with | |
template<typename _Tp, typename _Up> | |
struct is_nothrow_swappable_with | |
: public __is_nothrow_swappable_with_impl<_Tp, _Up>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"first template argument must be a complete class or an unbounded array"); | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}), | |
"second template argument must be a complete class or an unbounded array"); | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2906 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// is_swappable_with_v | |
template<typename _Tp, typename _Up> | |
_GLIBCXX17_INLINE constexpr bool is_swappable_with_v = | |
is_swappable_with<_Tp, _Up>::value; | |
/// is_nothrow_swappable_with_v | |
template<typename _Tp, typename _Up> | |
_GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_with_v = | |
is_nothrow_swappable_with<_Tp, _Up>::value; | |
#endif // __cplusplus >= 201402L | |
# 2916 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif// c++1z or gnu++11 | |
# 2918 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @cond undocumented | |
// __is_invocable (std::is_invocable for C++11) | |
// The primary template is used for invalid INVOKE expressions. | |
template<typename _Result, typename _Ret, | |
bool = is_void<_Ret>::value, typename = void> | |
struct __is_invocable_impl | |
: false_type | |
{ | |
using __nothrow_conv = false_type; // For is_nothrow_invocable_r | |
}; | |
// Used for valid INVOKE and INVOKE<void> expressions. | |
template<typename _Result, typename _Ret> | |
struct __is_invocable_impl<_Result, _Ret, | |
/* is_void<_Ret> = */ true, | |
__void_t<typename _Result::type>> | |
: true_type | |
{ | |
using __nothrow_conv = true_type; // For is_nothrow_invocable_r | |
}; | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" | |
// Used for INVOKE<R> expressions to check the implicit conversion to R. | |
template<typename _Result, typename _Ret> | |
struct __is_invocable_impl<_Result, _Ret, | |
/* is_void<_Ret> = */ false, | |
__void_t<typename _Result::type>> | |
{ | |
private: | |
// The type of the INVOKE expression. | |
using _Res_t = typename _Result::type; | |
// Unlike declval, this doesn't add_rvalue_reference, so it respects | |
// guaranteed copy elision. | |
static _Res_t _S_get() noexcept; | |
// Used to check if _Res_t can implicitly convert to _Tp. | |
template<typename _Tp> | |
static void _S_conv(__type_identity_t<_Tp>) noexcept; | |
// This overload is viable if INVOKE(f, args...) can convert to _Tp. | |
template<typename _Tp, | |
bool _Nothrow = noexcept(_S_conv<_Tp>(_S_get())), | |
typename = decltype(_S_conv<_Tp>(_S_get())), | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__reference_converts_from_temporary) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 2967 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t) | |
#else | |
# 2969 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
bool _Dangle = false | |
#endif | |
# 2971 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
> | |
static __bool_constant<_Nothrow && !_Dangle> | |
_S_test(int); | |
template<typename _Tp, bool = false> | |
static false_type | |
_S_test(...); | |
public: | |
// For is_invocable_r | |
using type = decltype(_S_test<_Ret, /* Nothrow = */ true>(1)); | |
// For is_nothrow_invocable_r | |
using __nothrow_conv = decltype(_S_test<_Ret>(1)); | |
}; | |
#pragma GCC diagnostic pop | |
template<typename _Fn, typename... _ArgTypes> | |
struct __is_invocable | |
: __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type | |
{ }; | |
template<typename _Fn, typename _Tp, typename... _Args> | |
constexpr bool __call_is_nt(__invoke_memfun_ref) | |
{ | |
using _Up = typename __inv_unwrap<_Tp>::type; | |
return noexcept((std::declval<_Up>().*std::declval<_Fn>())( | |
std::declval<_Args>()...)); | |
} | |
template<typename _Fn, typename _Tp, typename... _Args> | |
constexpr bool __call_is_nt(__invoke_memfun_deref) | |
{ | |
return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( | |
std::declval<_Args>()...)); | |
} | |
template<typename _Fn, typename _Tp> | |
constexpr bool __call_is_nt(__invoke_memobj_ref) | |
{ | |
using _Up = typename __inv_unwrap<_Tp>::type; | |
return noexcept(std::declval<_Up>().*std::declval<_Fn>()); | |
} | |
template<typename _Fn, typename _Tp> | |
constexpr bool __call_is_nt(__invoke_memobj_deref) | |
{ | |
return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); | |
} | |
template<typename _Fn, typename... _Args> | |
constexpr bool __call_is_nt(__invoke_other) | |
{ | |
return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); | |
} | |
template<typename _Result, typename _Fn, typename... _Args> | |
struct __call_is_nothrow | |
: __bool_constant< | |
std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) | |
> | |
{ }; | |
template<typename _Fn, typename... _Args> | |
using __call_is_nothrow_ | |
= __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; | |
// __is_nothrow_invocable (std::is_nothrow_invocable for C++11) | |
template<typename _Fn, typename... _Args> | |
struct __is_nothrow_invocable | |
: __and_<__is_invocable<_Fn, _Args...>, | |
__call_is_nothrow_<_Fn, _Args...>>::type | |
{ }; | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" | |
struct __nonesuchbase {}; | |
struct __nonesuch : private __nonesuchbase { | |
~__nonesuch() = delete; | |
__nonesuch(__nonesuch const&) = delete; | |
void operator=(__nonesuch const&) = delete; | |
}; | |
#pragma GCC diagnostic pop | |
/// @endcond | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3057 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
# define __cpp_lib_is_invocable 201703L | |
/// std::invoke_result | |
template<typename _Functor, typename... _ArgTypes> | |
struct invoke_result | |
: public __invoke_result<_Functor, _ArgTypes...> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}), | |
"_Functor must be a complete class or an unbounded array"); | |
static_assert((std::__is_complete_or_unbounded( | |
__type_identity<_ArgTypes>{}) && ...), | |
"each argument type must be a complete class or an unbounded array"); | |
}; | |
/// std::invoke_result_t | |
template<typename _Fn, typename... _Args> | |
using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; | |
/// std::is_invocable | |
template<typename _Fn, typename... _ArgTypes> | |
struct is_invocable | |
: __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), | |
"_Fn must be a complete class or an unbounded array"); | |
static_assert((std::__is_complete_or_unbounded( | |
__type_identity<_ArgTypes>{}) && ...), | |
"each argument type must be a complete class or an unbounded array"); | |
}; | |
/// std::is_invocable_r | |
template<typename _Ret, typename _Fn, typename... _ArgTypes> | |
struct is_invocable_r | |
: __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), | |
"_Fn must be a complete class or an unbounded array"); | |
static_assert((std::__is_complete_or_unbounded( | |
__type_identity<_ArgTypes>{}) && ...), | |
"each argument type must be a complete class or an unbounded array"); | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), | |
"_Ret must be a complete class or an unbounded array"); | |
}; | |
/// std::is_nothrow_invocable | |
template<typename _Fn, typename... _ArgTypes> | |
struct is_nothrow_invocable | |
: __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, | |
__call_is_nothrow_<_Fn, _ArgTypes...>>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), | |
"_Fn must be a complete class or an unbounded array"); | |
static_assert((std::__is_complete_or_unbounded( | |
__type_identity<_ArgTypes>{}) && ...), | |
"each argument type must be a complete class or an unbounded array"); | |
}; | |
/// @cond undocumented | |
// This checks that the INVOKE<R> expression is well-formed and that the | |
// conversion to R does not throw. It does *not* check whether the INVOKE | |
// expression itself can throw. That is done by __call_is_nothrow_ instead. | |
template<typename _Result, typename _Ret> | |
using __is_nt_invocable_impl | |
= typename __is_invocable_impl<_Result, _Ret>::__nothrow_conv; | |
/// @endcond | |
/// std::is_nothrow_invocable_r | |
template<typename _Ret, typename _Fn, typename... _ArgTypes> | |
struct is_nothrow_invocable_r | |
: __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, | |
__call_is_nothrow_<_Fn, _ArgTypes...>>::type | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), | |
"_Fn must be a complete class or an unbounded array"); | |
static_assert((std::__is_complete_or_unbounded( | |
__type_identity<_ArgTypes>{}) && ...), | |
"each argument type must be a complete class or an unbounded array"); | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}), | |
"_Ret must be a complete class or an unbounded array"); | |
}; | |
#endif // C++17 | |
# 3138 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3140 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
# define __cpp_lib_type_trait_variable_templates 201510L | |
/** | |
* @defgroup variable_templates Variable templates for type traits | |
* @ingroup metaprogramming | |
* | |
* Each variable `is_xxx_v<T>` is a boolean constant with the same value | |
* as the `value` member of the corresponding type trait `is_xxx<T>`. | |
* | |
* @since C++17 unless noted otherwise. | |
*/ | |
/** | |
* @{ | |
* @ingroup variable_templates | |
*/ | |
template <typename _Tp> | |
inline constexpr bool is_void_v = is_void<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_integral_v = is_integral<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_array_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_array_v<_Tp[]> = true; | |
template <typename _Tp, size_t _Num> | |
inline constexpr bool is_array_v<_Tp[_Num]> = true; | |
template <typename _Tp> | |
inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_lvalue_reference_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_lvalue_reference_v<_Tp&> = true; | |
template <typename _Tp> | |
inline constexpr bool is_rvalue_reference_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_rvalue_reference_v<_Tp&&> = true; | |
template <typename _Tp> | |
inline constexpr bool is_member_object_pointer_v = | |
is_member_object_pointer<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_member_function_pointer_v = | |
is_member_function_pointer<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_enum_v = __is_enum(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_union_v = __is_union(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_class_v = __is_class(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_function_v = is_function<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_reference_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_reference_v<_Tp&> = true; | |
template <typename _Tp> | |
inline constexpr bool is_reference_v<_Tp&&> = true; | |
template <typename _Tp> | |
inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_object_v = is_object<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_compound_v = is_compound<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_const_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_const_v<const _Tp> = true; | |
template <typename _Tp> | |
inline constexpr bool is_volatile_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_volatile_v<volatile _Tp> = true; | |
template <typename _Tp> | |
inline constexpr bool is_trivial_v = __is_trivial(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); | |
template <typename _Tp> | |
_GLIBCXX20_DEPRECATED_SUGGEST("is_standard_layout_v && is_trivial_v") | |
inline constexpr bool is_pod_v = __is_pod(_Tp); | |
template <typename _Tp> | |
_GLIBCXX17_DEPRECATED | |
inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_empty_v = __is_empty(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_abstract_v = __is_abstract(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_final_v = __is_final(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_signed_v = is_signed<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; | |
template <typename _Tp, typename... _Args> | |
inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); | |
template <typename _Tp> | |
inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_copy_constructible_v | |
= __is_constructible(_Tp, __add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_move_constructible_v | |
= __is_constructible(_Tp, __add_rval_ref_t<_Tp>); | |
template <typename _Tp, typename _Up> | |
inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up); | |
template <typename _Tp> | |
inline constexpr bool is_copy_assignable_v | |
= __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_move_assignable_v | |
= __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; | |
template <typename _Tp, typename... _Args> | |
inline constexpr bool is_trivially_constructible_v | |
= __is_trivially_constructible(_Tp, _Args...); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_default_constructible_v | |
= __is_trivially_constructible(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_copy_constructible_v | |
= __is_trivially_constructible(_Tp, __add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_move_constructible_v | |
= __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>); | |
template <typename _Tp, typename _Up> | |
inline constexpr bool is_trivially_assignable_v | |
= __is_trivially_assignable(_Tp, _Up); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_copy_assignable_v | |
= __is_trivially_assignable(__add_lval_ref_t<_Tp>, | |
__add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_move_assignable_v | |
= __is_trivially_assignable(__add_lval_ref_t<_Tp>, | |
__add_rval_ref_t<_Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_trivially_destructible_v = | |
is_trivially_destructible<_Tp>::value; | |
template <typename _Tp, typename... _Args> | |
inline constexpr bool is_nothrow_constructible_v | |
= __is_nothrow_constructible(_Tp, _Args...); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_default_constructible_v | |
= __is_nothrow_constructible(_Tp); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_copy_constructible_v | |
= __is_nothrow_constructible(_Tp, __add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_move_constructible_v | |
= __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>); | |
template <typename _Tp, typename _Up> | |
inline constexpr bool is_nothrow_assignable_v | |
= __is_nothrow_assignable(_Tp, _Up); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_copy_assignable_v | |
= __is_nothrow_assignable(__add_lval_ref_t<_Tp>, | |
__add_lval_ref_t<const _Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_move_assignable_v | |
= __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>); | |
template <typename _Tp> | |
inline constexpr bool is_nothrow_destructible_v = | |
is_nothrow_destructible<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr bool has_virtual_destructor_v | |
= __has_virtual_destructor(_Tp); | |
template <typename _Tp> | |
inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; | |
template <typename _Tp> | |
inline constexpr size_t rank_v = 0; | |
template <typename _Tp, size_t _Size> | |
inline constexpr size_t rank_v<_Tp[_Size]> = 1 + rank_v<_Tp>; | |
template <typename _Tp> | |
inline constexpr size_t rank_v<_Tp[]> = 1 + rank_v<_Tp>; | |
template <typename _Tp, unsigned _Idx = 0> | |
inline constexpr size_t extent_v = 0; | |
template <typename _Tp, size_t _Size> | |
inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size; | |
template <typename _Tp, unsigned _Idx, size_t _Size> | |
inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>; | |
template <typename _Tp> | |
inline constexpr size_t extent_v<_Tp[], 0> = 0; | |
template <typename _Tp, unsigned _Idx> | |
inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>; | |
#ifdef _GLIBCXX_HAVE_BUILTIN_IS_SAME | |
template <typename _Tp, typename _Up> | |
inline constexpr bool is_same_v = __is_same(_Tp, _Up); | |
#else | |
# 3355 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template <typename _Tp, typename _Up> | |
inline constexpr bool is_same_v = false; | |
template <typename _Tp> | |
inline constexpr bool is_same_v<_Tp, _Tp> = true; | |
#endif | |
# 3360 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template <typename _Base, typename _Derived> | |
inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__is_convertible) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3363 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template <typename _From, typename _To> | |
inline constexpr bool is_convertible_v = __is_convertible(_From, _To); | |
#else | |
# 3366 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template <typename _From, typename _To> | |
inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; | |
#endif | |
# 3369 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Fn, typename... _Args> | |
inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; | |
template<typename _Fn, typename... _Args> | |
inline constexpr bool is_nothrow_invocable_v | |
= is_nothrow_invocable<_Fn, _Args...>::value; | |
template<typename _Ret, typename _Fn, typename... _Args> | |
inline constexpr bool is_invocable_r_v | |
= is_invocable_r<_Ret, _Fn, _Args...>::value; | |
template<typename _Ret, typename _Fn, typename... _Args> | |
inline constexpr bool is_nothrow_invocable_r_v | |
= is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; | |
/// @} | |
#ifdef _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP | |
# define __cpp_lib_has_unique_object_representations 201606L | |
/// has_unique_object_representations | |
/// @since C++17 | |
template<typename _Tp> | |
struct has_unique_object_representations | |
: bool_constant<__has_unique_object_representations( | |
remove_cv_t<remove_all_extents_t<_Tp>> | |
)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @ingroup variable_templates | |
template<typename _Tp> | |
inline constexpr bool has_unique_object_representations_v | |
= has_unique_object_representations<_Tp>::value; | |
#endif | |
# 3401 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#ifdef _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE | |
# define __cpp_lib_is_aggregate 201703L | |
/// is_aggregate - true if the type is an aggregate. | |
/// @since C++17 | |
template<typename _Tp> | |
struct is_aggregate | |
: bool_constant<__is_aggregate(remove_cv_t<_Tp>)> | |
{ }; | |
/** is_aggregate_v - true if the type is an aggregate. | |
* @ingroup variable_templates | |
* @since C++17 | |
*/ | |
template<typename _Tp> | |
inline constexpr bool is_aggregate_v = __is_aggregate(remove_cv_t<_Tp>); | |
#endif | |
# 3418 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif // C++17 | |
# 3419 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3421 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/** * Remove references and cv-qualifiers. | |
* @since C++20 | |
* @{ | |
*/ | |
#define __cpp_lib_remove_cvref 201711L | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__remove_cvref) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3429 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_cvref | |
{ using type = __remove_cvref(_Tp); }; | |
#else | |
# 3433 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
struct remove_cvref | |
{ using type = typename remove_cv<_Tp>::type; }; | |
template<typename _Tp> | |
struct remove_cvref<_Tp&> | |
{ using type = typename remove_cv<_Tp>::type; }; | |
template<typename _Tp> | |
struct remove_cvref<_Tp&&> | |
{ using type = typename remove_cv<_Tp>::type; }; | |
#endif | |
# 3445 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
template<typename _Tp> | |
using remove_cvref_t = typename remove_cvref<_Tp>::type; | |
/// @} | |
/** * Identity metafunction. | |
* @since C++20 | |
* @{ | |
*/ | |
#define __cpp_lib_type_identity 201806L | |
template<typename _Tp> | |
struct type_identity { using type = _Tp; }; | |
template<typename _Tp> | |
using type_identity_t = typename type_identity<_Tp>::type; | |
/// @} | |
#define __cpp_lib_unwrap_ref 201811L | |
/** Unwrap a reference_wrapper | |
* @since C++20 | |
* @{ | |
*/ | |
template<typename _Tp> | |
struct unwrap_reference { using type = _Tp; }; | |
template<typename _Tp> | |
struct unwrap_reference<reference_wrapper<_Tp>> { using type = _Tp&; }; | |
template<typename _Tp> | |
using unwrap_reference_t = typename unwrap_reference<_Tp>::type; | |
/// @} | |
/** Decay type and if it's a reference_wrapper, unwrap it | |
* @since C++20 | |
* @{ | |
*/ | |
template<typename _Tp> | |
struct unwrap_ref_decay { using type = unwrap_reference_t<decay_t<_Tp>>; }; | |
template<typename _Tp> | |
using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; | |
/// @} | |
#define __cpp_lib_bounded_array_traits 201902L | |
/// True for a type that is an array of known bound. | |
/// @ingroup variable_templates | |
/// @since C++20 | |
template<typename _Tp> | |
inline constexpr bool is_bounded_array_v = false; | |
template<typename _Tp, size_t _Size> | |
inline constexpr bool is_bounded_array_v<_Tp[_Size]> = true; | |
/// True for a type that is an array of unknown bound. | |
/// @ingroup variable_templates | |
/// @since C++20 | |
template<typename _Tp> | |
inline constexpr bool is_unbounded_array_v = false; | |
template<typename _Tp> | |
inline constexpr bool is_unbounded_array_v<_Tp[]> = true; | |
/// True for a type that is an array of known bound. | |
/// @since C++20 | |
template<typename _Tp> | |
struct is_bounded_array | |
: public bool_constant<is_bounded_array_v<_Tp>> | |
{ }; | |
/// True for a type that is an array of unknown bound. | |
/// @since C++20 | |
template<typename _Tp> | |
struct is_unbounded_array | |
: public bool_constant<is_unbounded_array_v<_Tp>> | |
{ }; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__is_layout_compatible) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3524 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @since C++20 | |
template<typename _Tp, typename _Up> | |
struct is_layout_compatible | |
: bool_constant<__is_layout_compatible(_Tp, _Up)> | |
{ }; | |
/// @ingroup variable_templates | |
/// @since C++20 | |
template<typename _Tp, typename _Up> | |
constexpr bool is_layout_compatible_v | |
= __is_layout_compatible(_Tp, _Up); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__builtin_is_corresponding_member) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3538 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_layout_compatible 201907L | |
/// @since C++20 | |
template<typename _S1, typename _S2, typename _M1, typename _M2> | |
constexpr bool | |
is_corresponding_member(_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept | |
{ return __builtin_is_corresponding_member(__m1, __m2); } | |
#endif | |
# 3546 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif | |
# 3547 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__is_pointer_interconvertible_base_of) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3549 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// True if `_Derived` is standard-layout and has a base class of type `_Base` | |
/// @since C++20 | |
template<typename _Base, typename _Derived> | |
struct is_pointer_interconvertible_base_of | |
: bool_constant<__is_pointer_interconvertible_base_of(_Base, _Derived)> | |
{ }; | |
/// @ingroup variable_templates | |
/// @since C++20 | |
template<typename _Base, typename _Derived> | |
constexpr bool is_pointer_interconvertible_base_of_v | |
= __is_pointer_interconvertible_base_of(_Base, _Derived); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__builtin_is_pointer_interconvertible_with_class) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3563 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_pointer_interconvertible 201907L | |
/// True if `__mp` points to the first member of a standard-layout type | |
/// @returns true if `s.*__mp` is pointer-interconvertible with `s` | |
/// @since C++20 | |
template<typename _Tp, typename _Mem> | |
constexpr bool | |
is_pointer_interconvertible_with_class(_Mem _Tp::*__mp) noexcept | |
{ return __builtin_is_pointer_interconvertible_with_class(__mp); } | |
#endif | |
# 3573 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif | |
# 3574 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3576 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_scoped_enum 202011L | |
/// True if the type is a scoped enumeration type. | |
/// @since C++23 | |
template<typename _Tp> | |
struct is_scoped_enum | |
: false_type | |
{ }; | |
template<typename _Tp> | |
requires __is_enum(_Tp) | |
&& requires(remove_cv_t<_Tp> __t) { __t = __t; } // fails if incomplete | |
struct is_scoped_enum<_Tp> | |
: bool_constant<!requires(_Tp __t, void(*__f)(int)) { __f(__t); }> | |
{ }; | |
/// @ingroup variable_templates | |
/// @since C++23 | |
template<typename _Tp> | |
inline constexpr bool is_scoped_enum_v = is_scoped_enum<_Tp>::value; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __has_builtin(__reference_constructs_from_temporary) \ | |
&& __has_builtin(__reference_converts_from_temporary) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3600 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_reference_from_temporary 202202L | |
/// True if _Tp is a reference type, a _Up value can be bound to _Tp in | |
/// direct-initialization, and a temporary object would be bound to | |
/// the reference, false otherwise. | |
/// @since C++23 | |
template<typename _Tp, typename _Up> | |
struct reference_constructs_from_temporary | |
: public bool_constant<__reference_constructs_from_temporary(_Tp, _Up)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}) | |
&& std::__is_complete_or_unbounded(__type_identity<_Up>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// True if _Tp is a reference type, a _Up value can be bound to _Tp in | |
/// copy-initialization, and a temporary object would be bound to | |
/// the reference, false otherwise. | |
/// @since C++23 | |
template<typename _Tp, typename _Up> | |
struct reference_converts_from_temporary | |
: public bool_constant<__reference_converts_from_temporary(_Tp, _Up)> | |
{ | |
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}) | |
&& std::__is_complete_or_unbounded(__type_identity<_Up>{}), | |
"template argument must be a complete class or an unbounded array"); | |
}; | |
/// @ingroup variable_templates | |
/// @since C++23 | |
template<typename _Tp, typename _Up> | |
inline constexpr bool reference_constructs_from_temporary_v | |
= reference_constructs_from_temporary<_Tp, _Up>::value; | |
/// @ingroup variable_templates | |
/// @since C++23 | |
template<typename _Tp, typename _Up> | |
inline constexpr bool reference_converts_from_temporary_v | |
= reference_converts_from_temporary<_Tp, _Up>::value; | |
#endif // __has_builtin for reference_from_temporary | |
# 3641 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif // C++23 | |
# 3642 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3644 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#define __cpp_lib_is_constant_evaluated 201811L | |
/// Returns true only when called during constant evaluation. | |
/// @since C++20 | |
constexpr inline bool | |
is_constant_evaluated() noexcept | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_if_consteval >= 202106L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 3652 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
if consteval { return true; } else { return false; } | |
#else | |
# 3654 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
return __builtin_is_constant_evaluated(); | |
#endif | |
# 3656 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
} | |
#endif | |
# 3658 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @cond undocumented | |
template<typename _From, typename _To> | |
using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; | |
template<typename _Xp, typename _Yp> | |
using __cond_res | |
= decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); | |
template<typename _Ap, typename _Bp, typename = void> | |
struct __common_ref_impl | |
{ }; | |
// [meta.trans.other], COMMON-REF(A, B) | |
template<typename _Ap, typename _Bp> | |
using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; | |
// COND-RES(COPYCV(X, Y) &, COPYCV(Y, X) &) | |
template<typename _Xp, typename _Yp> | |
using __condres_cvref | |
= __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; | |
// If A and B are both lvalue reference types, ... | |
template<typename _Xp, typename _Yp> | |
struct __common_ref_impl<_Xp&, _Yp&, __void_t<__condres_cvref<_Xp, _Yp>>> | |
: enable_if<is_reference_v<__condres_cvref<_Xp, _Yp>>, | |
__condres_cvref<_Xp, _Yp>> | |
{ }; | |
// let C be remove_reference_t<COMMON-REF(X&, Y&)>&& | |
template<typename _Xp, typename _Yp> | |
using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; | |
// If A and B are both rvalue reference types, ... | |
template<typename _Xp, typename _Yp> | |
struct __common_ref_impl<_Xp&&, _Yp&&, | |
_Require<is_convertible<_Xp&&, __common_ref_C<_Xp, _Yp>>, | |
is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> | |
{ using type = __common_ref_C<_Xp, _Yp>; }; | |
// let D be COMMON-REF(const X&, Y&) | |
template<typename _Xp, typename _Yp> | |
using __common_ref_D = __common_ref<const _Xp&, _Yp&>; | |
// If A is an rvalue reference and B is an lvalue reference, ... | |
template<typename _Xp, typename _Yp> | |
struct __common_ref_impl<_Xp&&, _Yp&, | |
_Require<is_convertible<_Xp&&, __common_ref_D<_Xp, _Yp>>>> | |
{ using type = __common_ref_D<_Xp, _Yp>; }; | |
// If A is an lvalue reference and B is an rvalue reference, ... | |
template<typename _Xp, typename _Yp> | |
struct __common_ref_impl<_Xp&, _Yp&&> | |
: __common_ref_impl<_Yp&&, _Xp&> | |
{ }; | |
/// @endcond | |
template<typename _Tp, typename _Up, | |
template<typename> class _TQual, template<typename> class _UQual> | |
struct basic_common_reference | |
{ }; | |
/// @cond undocumented | |
template<typename _Tp> | |
struct __xref | |
{ template<typename _Up> using __type = __copy_cv<_Tp, _Up>; }; | |
template<typename _Tp> | |
struct __xref<_Tp&> | |
{ template<typename _Up> using __type = __copy_cv<_Tp, _Up>&; }; | |
template<typename _Tp> | |
struct __xref<_Tp&&> | |
{ template<typename _Up> using __type = __copy_cv<_Tp, _Up>&&; }; | |
template<typename _Tp1, typename _Tp2> | |
using __basic_common_ref | |
= typename basic_common_reference<remove_cvref_t<_Tp1>, | |
remove_cvref_t<_Tp2>, | |
__xref<_Tp1>::template __type, | |
__xref<_Tp2>::template __type>::type; | |
/// @endcond | |
template<typename... _Tp> | |
struct common_reference; | |
template<typename... _Tp> | |
using common_reference_t = typename common_reference<_Tp...>::type; | |
// If sizeof...(T) is zero, there shall be no member type. | |
template<> | |
struct common_reference<> | |
{ }; | |
// If sizeof...(T) is one ... | |
template<typename _Tp0> | |
struct common_reference<_Tp0> | |
{ using type = _Tp0; }; | |
/// @cond undocumented | |
template<typename _Tp1, typename _Tp2, int _Bullet = 1, typename = void> | |
struct __common_reference_impl | |
: __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> | |
{ }; | |
// If sizeof...(T) is two ... | |
template<typename _Tp1, typename _Tp2> | |
struct common_reference<_Tp1, _Tp2> | |
: __common_reference_impl<_Tp1, _Tp2> | |
{ }; | |
// If T1 and T2 are reference types and COMMON-REF(T1, T2) is well-formed, ... | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1&, _Tp2&, 1, | |
void_t<__common_ref<_Tp1&, _Tp2&>>> | |
{ using type = __common_ref<_Tp1&, _Tp2&>; }; | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, | |
void_t<__common_ref<_Tp1&&, _Tp2&&>>> | |
{ using type = __common_ref<_Tp1&&, _Tp2&&>; }; | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1&, _Tp2&&, 1, | |
void_t<__common_ref<_Tp1&, _Tp2&&>>> | |
{ using type = __common_ref<_Tp1&, _Tp2&&>; }; | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1&&, _Tp2&, 1, | |
void_t<__common_ref<_Tp1&&, _Tp2&>>> | |
{ using type = __common_ref<_Tp1&&, _Tp2&>; }; | |
// Otherwise, if basic_common_reference<...>::type is well-formed, ... | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1, _Tp2, 2, | |
void_t<__basic_common_ref<_Tp1, _Tp2>>> | |
{ using type = __basic_common_ref<_Tp1, _Tp2>; }; | |
// Otherwise, if COND-RES(T1, T2) is well-formed, ... | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1, _Tp2, 3, | |
void_t<__cond_res<_Tp1, _Tp2>>> | |
{ using type = __cond_res<_Tp1, _Tp2>; }; | |
// Otherwise, if common_type_t<T1, T2> is well-formed, ... | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1, _Tp2, 4, | |
void_t<common_type_t<_Tp1, _Tp2>>> | |
{ using type = common_type_t<_Tp1, _Tp2>; }; | |
// Otherwise, there shall be no member type. | |
template<typename _Tp1, typename _Tp2> | |
struct __common_reference_impl<_Tp1, _Tp2, 5, void> | |
{ }; | |
// Otherwise, if sizeof...(T) is greater than two, ... | |
template<typename _Tp1, typename _Tp2, typename... _Rest> | |
struct common_reference<_Tp1, _Tp2, _Rest...> | |
: __common_type_fold<common_reference<_Tp1, _Tp2>, | |
__common_type_pack<_Rest...>> | |
{ }; | |
// Reuse __common_type_fold for common_reference<T1, T2, Rest...> | |
template<typename _Tp1, typename _Tp2, typename... _Rest> | |
struct __common_type_fold<common_reference<_Tp1, _Tp2>, | |
__common_type_pack<_Rest...>, | |
void_t<common_reference_t<_Tp1, _Tp2>>> | |
: public common_reference<common_reference_t<_Tp1, _Tp2>, _Rest...> | |
{ }; | |
/// @endcond | |
#endif // C++2a | |
# 3830 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
/// @} group metaprogramming | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace std | |
#endif // C++11 | |
# 3837 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif // _GLIBCXX_TYPE_TRAITS | |
# 3839 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits" 3 | |
#endif /* type_traits expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 2 3 | |
#endif | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
// Used, in C++03 mode too, by allocators, etc. | |
/** | |
* @brief Same as C++11 std::addressof | |
* @ingroup utilities | |
*/ | |
template<typename _Tp> | |
inline _GLIBCXX_CONSTEXPR _Tp* | |
__addressof(_Tp& __r) _GLIBCXX_NOEXCEPT | |
{ return __builtin_addressof(__r); } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 55 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
/** | |
* @addtogroup utilities | |
* @{ | |
*/ | |
/** | |
* @brief Forward an lvalue. | |
* @return The parameter cast to the specified type. | |
* | |
* This function is used to implement "perfect forwarding". | |
*/ | |
template<typename _Tp> | |
_GLIBCXX_NODISCARD | |
constexpr _Tp&& | |
forward(typename std::remove_reference<_Tp>::type& __t) noexcept | |
{ return static_cast<_Tp&&>(__t); } | |
/** | |
* @brief Forward an rvalue. | |
* @return The parameter cast to the specified type. | |
* | |
* This function is used to implement "perfect forwarding". | |
*/ | |
template<typename _Tp> | |
_GLIBCXX_NODISCARD | |
constexpr _Tp&& | |
forward(typename std::remove_reference<_Tp>::type&& __t) noexcept | |
{ | |
static_assert(!std::is_lvalue_reference<_Tp>::value, | |
"std::forward must not be used to convert an rvalue to an lvalue"); | |
return static_cast<_Tp&&>(__t); | |
} | |
/** | |
* @brief Convert a value to an rvalue. | |
* @param __t A thing of arbitrary type. | |
* @return The parameter cast to an rvalue-reference to allow moving it. | |
*/ | |
template<typename _Tp> | |
_GLIBCXX_NODISCARD | |
constexpr typename std::remove_reference<_Tp>::type&& | |
move(_Tp&& __t) noexcept | |
{ return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); } | |
template<typename _Tp> | |
struct __move_if_noexcept_cond | |
: public __and_<__not_<is_nothrow_move_constructible<_Tp>>, | |
is_copy_constructible<_Tp>>::type { }; | |
/** | |
* @brief Conditionally convert a value to an rvalue. | |
* @param __x A thing of arbitrary type. | |
* @return The parameter, possibly cast to an rvalue-reference. | |
* | |
* Same as std::move unless the type's move constructor could throw and the | |
* type is copyable, in which case an lvalue-reference is returned instead. | |
*/ | |
template<typename _Tp> | |
_GLIBCXX_NODISCARD | |
constexpr | |
__conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&> | |
move_if_noexcept(_Tp& __x) noexcept | |
{ return std::move(__x); } | |
// declval, from type_traits. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus > 201402L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 124 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
// _GLIBCXX_RESOLVE_LIB_DEFECTS | |
// 2296. std::addressof should be constexpr | |
# define __cpp_lib_addressof_constexpr 201603L | |
#endif | |
# 128 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
/** | |
* @brief Returns the actual address of the object or function | |
* referenced by r, even in the presence of an overloaded | |
* operator&. | |
* @param __r Reference to an object or function. | |
* @return The actual address. | |
*/ | |
template<typename _Tp> | |
_GLIBCXX_NODISCARD | |
inline _GLIBCXX17_CONSTEXPR _Tp* | |
addressof(_Tp& __r) noexcept | |
{ return std::__addressof(__r); } | |
// _GLIBCXX_RESOLVE_LIB_DEFECTS | |
// 2598. addressof works on temporaries | |
template<typename _Tp> | |
const _Tp* addressof(const _Tp&&) = delete; | |
// C++11 version of std::exchange for internal use. | |
template <typename _Tp, typename _Up = _Tp> | |
_GLIBCXX20_CONSTEXPR | |
inline _Tp | |
__exchange(_Tp& __obj, _Up&& __new_val) | |
{ | |
_Tp __old_val = std::move(__obj); | |
__obj = std::forward<_Up>(__new_val); | |
return __old_val; | |
} | |
/// @} group utilities | |
#define _GLIBCXX_FWDREF(_Tp) _Tp&& | |
#define _GLIBCXX_MOVE(__val) std::move(__val) | |
#define _GLIBCXX_FORWARD(_Tp, __val) std::forward<_Tp>(__val) | |
#else | |
# 163 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#define _GLIBCXX_FWDREF(_Tp) const _Tp& | |
#define _GLIBCXX_MOVE(__val) (__val) | |
#define _GLIBCXX_FORWARD(_Tp, __val) (__val) | |
#endif | |
# 167 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
/** | |
* @addtogroup utilities | |
* @{ | |
*/ | |
/** | |
* @brief Swaps two values. | |
* @param __a A thing of arbitrary type. | |
* @param __b Another thing of arbitrary type. | |
* @return Nothing. | |
*/ | |
template<typename _Tp> | |
_GLIBCXX20_CONSTEXPR | |
inline | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 183 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, | |
is_move_constructible<_Tp>, | |
is_move_assignable<_Tp>>::value>::type | |
#else | |
# 187 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
void | |
#endif | |
# 189 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
swap(_Tp& __a, _Tp& __b) | |
_GLIBCXX_NOEXCEPT_IF(__and_<is_nothrow_move_constructible<_Tp>, | |
is_nothrow_move_assignable<_Tp>>::value) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 194 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
// concept requirements | |
__glibcxx_function_requires(_SGIAssignableConcept<_Tp>) | |
#endif | |
# 197 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
_Tp __tmp = _GLIBCXX_MOVE(__a); | |
__a = _GLIBCXX_MOVE(__b); | |
__b = _GLIBCXX_MOVE(__tmp); | |
} | |
// _GLIBCXX_RESOLVE_LIB_DEFECTS | |
// DR 809. std::swap should be overloaded for array types. | |
/// Swap the contents of two arrays. | |
template<typename _Tp, size_t _Nm> | |
_GLIBCXX20_CONSTEXPR | |
inline | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 209 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
typename enable_if<__is_swappable<_Tp>::value>::type | |
#else | |
# 211 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
void | |
#endif | |
# 213 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) | |
_GLIBCXX_NOEXCEPT_IF(__is_nothrow_swappable<_Tp>::value) | |
{ | |
for (size_t __n = 0; __n < _Nm; ++__n) | |
swap(__a[__n], __b[__n]); | |
} | |
/// @} group utilities | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif /* _MOVE_H */ | |
# 225 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/move.h" 3 | |
#endif /* move.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 2 3 | |
#endif | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#ifdef _GLIBCXX_EH_PTR_RELOPS_COMPAT | |
# define _GLIBCXX_EH_PTR_USED __attribute__((__used__)) | |
#else | |
# 47 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
# define _GLIBCXX_EH_PTR_USED | |
#endif | |
# 49 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
extern "C++" { | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
class type_info; | |
/** | |
* @addtogroup exceptions | |
* @{ | |
*/ | |
namespace __exception_ptr | |
{ | |
class exception_ptr; | |
} | |
using __exception_ptr::exception_ptr; | |
/** Obtain an exception_ptr to the currently handled exception. | |
* | |
* If there is none, or the currently handled exception is foreign, | |
* return the null value. | |
* | |
* @since C++11 | |
*/ | |
exception_ptr current_exception() _GLIBCXX_USE_NOEXCEPT; | |
template<typename _Ex> | |
exception_ptr make_exception_ptr(_Ex) _GLIBCXX_USE_NOEXCEPT; | |
/// Throw the object pointed to by the exception_ptr. | |
void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); | |
namespace __exception_ptr | |
{ | |
using std::rethrow_exception; // So that ADL finds it. | |
/** | |
* @brief An opaque pointer to an arbitrary exception. | |
* | |
* The actual name of this type is unspecified, so the alias | |
* `std::exception_ptr` should be used to refer to it. | |
* | |
* @headerfile exception | |
* @since C++11 (but usable in C++98 as a GCC extension) | |
* @ingroup exceptions | |
*/ | |
class exception_ptr | |
{ | |
void* _M_exception_object; | |
explicit exception_ptr(void* __e) _GLIBCXX_USE_NOEXCEPT; | |
void _M_addref() _GLIBCXX_USE_NOEXCEPT; | |
void _M_release() _GLIBCXX_USE_NOEXCEPT; | |
void *_M_get() const _GLIBCXX_NOEXCEPT __attribute__ ((__pure__)); | |
friend exception_ptr std::current_exception() _GLIBCXX_USE_NOEXCEPT; | |
friend void std::rethrow_exception(exception_ptr); | |
template<typename _Ex> | |
friend exception_ptr std::make_exception_ptr(_Ex) _GLIBCXX_USE_NOEXCEPT; | |
public: | |
exception_ptr() _GLIBCXX_USE_NOEXCEPT; | |
exception_ptr(const exception_ptr&) _GLIBCXX_USE_NOEXCEPT; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
exception_ptr(nullptr_t) noexcept | |
: _M_exception_object(nullptr) | |
{ } | |
exception_ptr(exception_ptr&& __o) noexcept | |
: _M_exception_object(__o._M_exception_object) | |
{ __o._M_exception_object = nullptr; } | |
#endif | |
# 127 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (__cplusplus < 201103L) || defined (_GLIBCXX_EH_PTR_COMPAT) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 129 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
typedef void (exception_ptr::*__safe_bool)(); | |
// For construction from nullptr or 0. | |
exception_ptr(__safe_bool) _GLIBCXX_USE_NOEXCEPT; | |
#endif | |
# 134 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
exception_ptr& | |
operator=(const exception_ptr&) _GLIBCXX_USE_NOEXCEPT; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 139 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
exception_ptr& | |
operator=(exception_ptr&& __o) noexcept | |
{ | |
exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this); | |
return *this; | |
} | |
#endif | |
# 146 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
~exception_ptr() _GLIBCXX_USE_NOEXCEPT; | |
void | |
swap(exception_ptr&) _GLIBCXX_USE_NOEXCEPT; | |
#ifdef _GLIBCXX_EH_PTR_COMPAT | |
// Retained for compatibility with CXXABI_1.3. | |
void _M_safe_bool_dummy() _GLIBCXX_USE_NOEXCEPT | |
__attribute__ ((__const__)); | |
bool operator!() const _GLIBCXX_USE_NOEXCEPT | |
__attribute__ ((__pure__)); | |
operator __safe_bool() const _GLIBCXX_USE_NOEXCEPT; | |
#endif | |
# 160 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 162 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
explicit operator bool() const noexcept | |
{ return _M_exception_object; } | |
#endif | |
# 165 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_impl_three_way_comparison >= 201907L \ | |
&& ! defined _GLIBCXX_EH_PTR_RELOPS_COMPAT | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 168 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
friend bool | |
operator==(const exception_ptr&, const exception_ptr&) noexcept = default; | |
#else | |
# 171 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
friend _GLIBCXX_EH_PTR_USED bool | |
operator==(const exception_ptr& __x, const exception_ptr& __y) | |
_GLIBCXX_USE_NOEXCEPT | |
{ return __x._M_exception_object == __y._M_exception_object; } | |
friend _GLIBCXX_EH_PTR_USED bool | |
operator!=(const exception_ptr& __x, const exception_ptr& __y) | |
_GLIBCXX_USE_NOEXCEPT | |
{ return __x._M_exception_object != __y._M_exception_object; } | |
#endif | |
# 181 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
const class std::type_info* | |
__cxa_exception_type() const _GLIBCXX_USE_NOEXCEPT | |
__attribute__ ((__pure__)); | |
}; | |
_GLIBCXX_EH_PTR_USED | |
inline | |
exception_ptr::exception_ptr() _GLIBCXX_USE_NOEXCEPT | |
: _M_exception_object(0) | |
{ } | |
_GLIBCXX_EH_PTR_USED | |
inline | |
exception_ptr::exception_ptr(const exception_ptr& __other) | |
_GLIBCXX_USE_NOEXCEPT | |
: _M_exception_object(__other._M_exception_object) | |
{ | |
if (_M_exception_object) | |
_M_addref(); | |
} | |
_GLIBCXX_EH_PTR_USED | |
inline | |
exception_ptr::~exception_ptr() _GLIBCXX_USE_NOEXCEPT | |
{ | |
if (_M_exception_object) | |
_M_release(); | |
} | |
_GLIBCXX_EH_PTR_USED | |
inline exception_ptr& | |
exception_ptr::operator=(const exception_ptr& __other) _GLIBCXX_USE_NOEXCEPT | |
{ | |
exception_ptr(__other).swap(*this); | |
return *this; | |
} | |
_GLIBCXX_EH_PTR_USED | |
inline void | |
exception_ptr::swap(exception_ptr &__other) _GLIBCXX_USE_NOEXCEPT | |
{ | |
void *__tmp = _M_exception_object; | |
_M_exception_object = __other._M_exception_object; | |
__other._M_exception_object = __tmp; | |
} | |
/// @relates exception_ptr | |
inline void | |
swap(exception_ptr& __lhs, exception_ptr& __rhs) | |
{ __lhs.swap(__rhs); } | |
/// @cond undocumented | |
template<typename _Ex> | |
_GLIBCXX_CDTOR_CALLABI | |
inline void | |
__dest_thunk(void* __x) | |
{ static_cast<_Ex*>(__x)->~_Ex(); } | |
/// @endcond | |
} // namespace __exception_ptr | |
using __exception_ptr::swap; // So that std::swap(exp1, exp2) finds it. | |
/// Obtain an exception_ptr pointing to a copy of the supplied object. | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (__cplusplus >= 201103L && __cpp_rtti) || __cpp_exceptions | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 247 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
template<typename _Ex> | |
exception_ptr | |
make_exception_ptr(_Ex __ex) _GLIBCXX_USE_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L && __cpp_rtti | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 252 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
using _Ex2 = typename decay<_Ex>::type; | |
void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex)); | |
(void) __cxxabiv1::__cxa_init_primary_exception( | |
__e, const_cast<std::type_info*>(&typeid(_Ex)), | |
__exception_ptr::__dest_thunk<_Ex2>); | |
__try | |
{ | |
::new (__e) _Ex2(__ex); | |
return exception_ptr(__e); | |
} | |
__catch(...) | |
{ | |
__cxxabiv1::__cxa_free_exception(__e); | |
return current_exception(); | |
} | |
#else | |
# 268 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
try | |
{ | |
throw __ex; | |
} | |
catch(...) | |
{ | |
return current_exception(); | |
} | |
#endif | |
# 277 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
} | |
#else // no RTTI and no exceptions | |
# 279 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
// This is always_inline so the linker will never use this useless definition | |
// instead of a working one compiled with RTTI and/or exceptions enabled. | |
template<typename _Ex> | |
__attribute__ ((__always_inline__)) | |
inline exception_ptr | |
make_exception_ptr(_Ex) _GLIBCXX_USE_NOEXCEPT | |
{ return exception_ptr(); } | |
#endif | |
# 287 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#undef _GLIBCXX_EH_PTR_USED | |
/// @} group exceptions | |
} // namespace std | |
} // extern "C++" | |
#endif | |
# 296 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/exception_ptr.h" 3 | |
#endif /* exception_ptr.h expanded by -frewrite-includes */ | |
# 165 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* nested_exception.h expanded by -frewrite-includes */ | |
#include <bits/nested_exception.h> | |
#else /* nested_exception.h expanded by -frewrite-includes */ | |
# 165 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 1 3 | |
// Nested Exception support header (nested_exception class) for -*- C++ -*- | |
// Copyright (C) 2009-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/nested_exception.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{exception} | |
*/ | |
#ifndef _GLIBCXX_NESTED_EXCEPTION_H | |
#define _GLIBCXX_NESTED_EXCEPTION_H 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/c++0x_warning.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#else | |
# 36 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/move.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 37 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/exception_ptr.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
extern "C++" { | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
/** | |
* @addtogroup exceptions | |
* @{ | |
*/ | |
/** Mixin class that stores the current exception. | |
* | |
* This type can be used via `std::throw_with_nested` to store | |
* the current exception nested within another exception. | |
* | |
* @headerfile exception | |
* @since C++11 | |
* @see std::throw_with_nested | |
* @ingroup exceptions | |
*/ | |
class nested_exception | |
{ | |
exception_ptr _M_ptr; | |
public: | |
/// The default constructor stores the current exception (if any). | |
nested_exception() noexcept : _M_ptr(current_exception()) { } | |
nested_exception(const nested_exception&) noexcept = default; | |
nested_exception& operator=(const nested_exception&) noexcept = default; | |
virtual ~nested_exception() noexcept; | |
/// Rethrow the stored exception, or terminate if none was stored. | |
[[noreturn]] | |
void | |
rethrow_nested() const | |
{ | |
if (_M_ptr) | |
rethrow_exception(_M_ptr); | |
std::terminate(); | |
} | |
/// Access the stored exception. | |
exception_ptr | |
nested_ptr() const noexcept | |
{ return _M_ptr; } | |
}; | |
/// @cond undocumented | |
template<typename _Except> | |
struct _Nested_exception : public _Except, public nested_exception | |
{ | |
explicit _Nested_exception(const _Except& __ex) | |
: _Except(__ex) | |
{ } | |
explicit _Nested_exception(_Except&& __ex) | |
: _Except(static_cast<_Except&&>(__ex)) | |
{ } | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201703L || ! defined __cpp_if_constexpr | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 104 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
// [except.nested]/8 | |
// Throw an exception of unspecified type that is publicly derived from | |
// both remove_reference_t<_Tp> and nested_exception. | |
template<typename _Tp> | |
[[noreturn]] | |
inline void | |
__throw_with_nested_impl(_Tp&& __t, true_type) | |
{ | |
throw _Nested_exception<__remove_cvref_t<_Tp>>{std::forward<_Tp>(__t)}; | |
} | |
template<typename _Tp> | |
[[noreturn]] | |
inline void | |
__throw_with_nested_impl(_Tp&& __t, false_type) | |
{ throw std::forward<_Tp>(__t); } | |
#endif | |
# 121 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
/// @endcond | |
/** Throw an exception that also stores the currently active exception. | |
* | |
* If `_Tp` is derived from `std::nested_exception` or is not usable | |
* as a base-class, throws a copy of `__t`. | |
* Otherwise, throws an object of an implementation-defined type derived | |
* from both `_Tp` and `std::nested_exception`, containing a copy of `__t` | |
* and the result of `std::current_exception()`. | |
* | |
* In other words, throws the argument as a new exception that contains | |
* the currently active exception nested within it. This is intended for | |
* use in a catch handler to replace the caught exception with a different | |
* type, while still preserving the original exception. When the new | |
* exception is caught, the nested exception can be rethrown by using | |
* `std::rethrow_if_nested`. | |
* | |
* This can be used at API boundaries, for example to catch a library's | |
* internal exception type and rethrow it nested with a `std::runtime_error`, | |
* or vice versa. | |
* | |
* @since C++11 | |
*/ | |
template<typename _Tp> | |
[[noreturn]] | |
inline void | |
throw_with_nested(_Tp&& __t) | |
{ | |
using _Up = typename decay<_Tp>::type; | |
using _CopyConstructible | |
= __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>; | |
static_assert(_CopyConstructible::value, | |
"throw_with_nested argument must be CopyConstructible"); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L && __cpp_if_constexpr | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 157 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
if constexpr (is_class_v<_Up>) | |
if constexpr (!is_final_v<_Up>) | |
if constexpr (!is_base_of_v<nested_exception, _Up>) | |
throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; | |
throw std::forward<_Tp>(__t); | |
#else | |
# 163 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>, | |
__not_<is_base_of<nested_exception, _Up>>>; | |
std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); | |
#endif | |
# 167 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
} | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201703L || ! defined __cpp_if_constexpr | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 170 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
/// @cond undocumented | |
// Attempt dynamic_cast to nested_exception and call rethrow_nested(). | |
template<typename _Ex> | |
inline void | |
__rethrow_if_nested_impl(const _Ex* __ptr, true_type) | |
{ | |
if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr)) | |
__ne_ptr->rethrow_nested(); | |
} | |
// Otherwise, no effects. | |
inline void | |
__rethrow_if_nested_impl(const void*, false_type) | |
{ } | |
/// @endcond | |
#endif | |
# 188 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
/** Rethrow a nested exception | |
* | |
* If `__ex` contains a `std::nested_exception` object, call its | |
* `rethrow_nested()` member to rethrow the stored exception. | |
* | |
* After catching an exception thrown by a call to `std::throw_with_nested` | |
* this function can be used to rethrow the exception that was active when | |
* `std::throw_with_nested` was called. | |
* | |
* @since C++11 | |
*/ | |
// _GLIBCXX_RESOLVE_LIB_DEFECTS | |
// 2484. rethrow_if_nested() is doubly unimplementable | |
// 2784. Resolution to LWG 2484 is missing "otherwise, no effects" and [...] | |
template<typename _Ex> | |
#if 0 /* disabled by -frewrite-includes */ | |
# if ! __cpp_rtti | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 205 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
[[__gnu__::__always_inline__]] | |
#endif | |
# 207 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
inline void | |
rethrow_if_nested(const _Ex& __ex) | |
{ | |
const _Ex* __ptr = __builtin_addressof(__ex); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus < 201703L || ! defined __cpp_if_constexpr | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 212 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __cpp_rtti | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 213 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
using __cast = __and_<is_polymorphic<_Ex>, | |
__or_<__not_<is_base_of<nested_exception, _Ex>>, | |
is_convertible<_Ex*, nested_exception*>>>; | |
# else | |
# 217 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
using __cast = __and_<is_polymorphic<_Ex>, | |
is_base_of<nested_exception, _Ex>, | |
is_convertible<_Ex*, nested_exception*>>; | |
# endif | |
# 221 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
std::__rethrow_if_nested_impl(__ptr, __cast{}); | |
#else | |
# 223 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
if constexpr (!is_polymorphic_v<_Ex>) | |
return; | |
else if constexpr (is_base_of_v<nested_exception, _Ex> | |
&& !is_convertible_v<_Ex*, nested_exception*>) | |
return; // nested_exception base class is inaccessible or ambiguous. | |
#if 0 /* disabled by -frewrite-includes */ | |
# if ! __cpp_rtti | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 229 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
else if constexpr (!is_base_of_v<nested_exception, _Ex>) | |
return; // Cannot do polymorphic casts without RTTI. | |
# endif | |
# 232 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
else if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr)) | |
__ne_ptr->rethrow_nested(); | |
#endif | |
# 235 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
} | |
/// @} group exceptions | |
} // namespace std | |
} // extern "C++" | |
#endif // C++11 | |
# 243 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#endif // _GLIBCXX_NESTED_EXCEPTION_H | |
# 244 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/nested_exception.h" 3 | |
#endif /* nested_exception.h expanded by -frewrite-includes */ | |
# 166 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 2 3 | |
#endif | |
# 167 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#endif | |
# 169 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/exception" 3 | |
#endif /* exception expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* char_traits.h expanded by -frewrite-includes */ | |
#include <bits/char_traits.h> // For char_traits, streamoff, streamsize, fpos | |
#else /* char_traits.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 1 3 | |
// Character Traits for use by standard string and iostream -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/char_traits.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{string} | |
*/ | |
// | |
// ISO C++ 14882: 21 Strings library | |
// | |
#ifndef _CHAR_TRAITS_H | |
#define _CHAR_TRAITS_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/postypes.h> // For streampos | |
#endif /* expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif // HOSTED | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cwchar expanded by -frewrite-includes */ | |
# include <cwchar> // For WEOF, wmemmove, wmemset, etc. | |
#else /* cwchar expanded by -frewrite-includes */ | |
# 46 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 1 3 | |
// -*- C++ -*- forwarding header. | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/cwchar | |
* This is a Standard C++ Library file. You should @c \#include this file | |
* in your programs, rather than any of the @a *.h implementation files. | |
* | |
* This is the C++ version of the Standard C Library header @c wchar.h, | |
* and its contents are (mostly) the same as that header, but are all | |
* contained in the namespace @c std (except for names which are defined | |
* as macros in C). | |
*/ | |
// | |
// ISO C++ 14882: 21.4 | |
// | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCHAR_H | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <wchar.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# 45 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif | |
# 46 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifndef _GLIBCXX_CWCHAR | |
#define _GLIBCXX_CWCHAR 1 | |
// Need to do a bit of trickery here with mbstate_t as char_traits | |
// assumes it is in wchar.h, regardless of wchar_t specializations. | |
#ifndef _GLIBCXX_HAVE_MBSTATE_T | |
extern "C" | |
{ | |
typedef struct | |
{ | |
int __fill[6]; | |
} mbstate_t; | |
} | |
#endif | |
# 61 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
namespace std | |
{ | |
using ::mbstate_t; | |
} // namespace std | |
// Get rid of those macros defined in <wchar.h> in lieu of real functions. | |
#undef btowc | |
#undef fgetwc | |
#undef fgetws | |
#undef fputwc | |
#undef fputws | |
#undef fwide | |
#undef fwprintf | |
#undef fwscanf | |
#undef getwc | |
#undef getwchar | |
#undef mbrlen | |
#undef mbrtowc | |
#undef mbsinit | |
#undef mbsrtowcs | |
#undef putwc | |
#undef putwchar | |
#undef swprintf | |
#undef swscanf | |
#undef ungetwc | |
#undef vfwprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 89 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vfwscanf | |
#endif | |
# 91 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef vswprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 93 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vswscanf | |
#endif | |
# 95 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef vwprintf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef vwscanf | |
#endif | |
# 99 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcrtomb | |
#undef wcscat | |
#undef wcschr | |
#undef wcscmp | |
#undef wcscoll | |
#undef wcscpy | |
#undef wcscspn | |
#undef wcsftime | |
#undef wcslen | |
#undef wcsncat | |
#undef wcsncmp | |
#undef wcsncpy | |
#undef wcspbrk | |
#undef wcsrchr | |
#undef wcsrtombs | |
#undef wcsspn | |
#undef wcsstr | |
#undef wcstod | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 118 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
# undef wcstof | |
#endif | |
# 120 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcstok | |
#undef wcstol | |
#undef wcstoul | |
#undef wcsxfrm | |
#undef wctob | |
#undef wmemchr | |
#undef wmemcmp | |
#undef wmemcpy | |
#undef wmemmove | |
#undef wmemset | |
#undef wprintf | |
#undef wscanf | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_WCHAR_T | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 134 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C++" | |
{ | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
using ::wint_t; | |
using ::btowc; | |
using ::fgetwc; | |
using ::fgetws; | |
using ::fputwc; | |
using ::fputws; | |
using ::fwide; | |
using ::fwprintf; | |
using ::fwscanf; | |
using ::getwc; | |
using ::getwchar; | |
using ::mbrlen; | |
using ::mbrtowc; | |
using ::mbsinit; | |
using ::mbsrtowcs; | |
using ::putwc; | |
using ::putwchar; | |
#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
using ::swprintf; | |
#endif | |
# 162 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::swscanf; | |
using ::ungetwc; | |
using ::vfwprintf; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 166 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vfwscanf; | |
#endif | |
# 168 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
using ::vswprintf; | |
#endif | |
# 171 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 172 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vswscanf; | |
#endif | |
# 174 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vwprintf; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 176 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::vwscanf; | |
#endif | |
# 178 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcrtomb; | |
using ::wcscat; | |
using ::wcscmp; | |
using ::wcscoll; | |
using ::wcscpy; | |
using ::wcscspn; | |
using ::wcsftime; | |
using ::wcslen; | |
using ::wcsncat; | |
using ::wcsncmp; | |
using ::wcsncpy; | |
using ::wcsrtombs; | |
using ::wcsspn; | |
using ::wcstod; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 193 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstof; | |
#endif | |
# 195 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstok; | |
using ::wcstol; | |
using ::wcstoul; | |
using ::wcsxfrm; | |
using ::wctob; | |
using ::wmemcmp; | |
using ::wmemcpy; | |
using ::wmemmove; | |
using ::wmemset; | |
using ::wprintf; | |
using ::wscanf; | |
using ::wcschr; | |
using ::wcspbrk; | |
using ::wcsrchr; | |
using ::wcsstr; | |
using ::wmemchr; | |
#ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO | |
inline wchar_t* | |
wcschr(wchar_t* __p, wchar_t __c) | |
{ return wcschr(const_cast<const wchar_t*>(__p), __c); } | |
inline wchar_t* | |
wcspbrk(wchar_t* __s1, const wchar_t* __s2) | |
{ return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); } | |
inline wchar_t* | |
wcsrchr(wchar_t* __p, wchar_t __c) | |
{ return wcsrchr(const_cast<const wchar_t*>(__p), __c); } | |
inline wchar_t* | |
wcsstr(wchar_t* __s1, const wchar_t* __s2) | |
{ return wcsstr(const_cast<const wchar_t*>(__s1), __s2); } | |
inline wchar_t* | |
wmemchr(wchar_t* __p, wchar_t __c, size_t __n) | |
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); } | |
#endif | |
# 233 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
} // extern "C++" | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_WCHAR | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 239 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#undef wcstold | |
#undef wcstoll | |
#undef wcstoull | |
namespace __gnu_cxx | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 247 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C" long double | |
(wcstold)(const wchar_t * __restrict, wchar_t ** __restrict) throw (); | |
#endif | |
# 250 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !_GLIBCXX_USE_C99_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 251 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstold; | |
#endif | |
# 253 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 254 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
extern "C" long long int | |
(wcstoll)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw (); | |
extern "C" unsigned long long int | |
(wcstoull)(const wchar_t * __restrict, wchar_t ** __restrict, int) throw (); | |
#endif | |
# 259 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 260 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using ::wcstoll; | |
using ::wcstoull; | |
#endif | |
# 263 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
} // namespace __gnu_cxx | |
namespace std | |
{ | |
using ::__gnu_cxx::wcstold; | |
using ::__gnu_cxx::wcstoll; | |
using ::__gnu_cxx::wcstoull; | |
} // namespace | |
#endif | |
# 273 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif //_GLIBCXX_USE_WCHAR_T | |
# 275 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 277 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
namespace std | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_WCSTOF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 283 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::wcstof; | |
#endif | |
# 285 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VFWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 286 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vfwscanf; | |
#endif | |
# 288 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VSWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 289 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vswscanf; | |
#endif | |
# 291 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HAVE_VWSCANF | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 292 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::vwscanf; | |
#endif | |
# 294 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_WCHAR | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 296 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
using std::wcstold; | |
using std::wcstoll; | |
using std::wcstoull; | |
#endif | |
# 300 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
} // namespace | |
#endif // _GLIBCXX_USE_WCHAR_T | |
# 303 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif // C++11 | |
# 305 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif | |
# 307 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cwchar" 3 | |
#endif /* cwchar expanded by -frewrite-includes */ | |
# 47 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 2 3 | |
#endif // USE_WCHAR_T | |
# 48 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <type_traits> | |
#endif /* expanded by -frewrite-includes */ | |
# 50 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 51 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined __UINT_LEAST16_TYPE__ || !defined __UINT_LEAST32_TYPE__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 52 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <cstdint> | |
#endif /* expanded by -frewrite-includes */ | |
# 52 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 53 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif | |
# 54 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif | |
# 55 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <compare> | |
#endif /* expanded by -frewrite-includes */ | |
# 56 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 57 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/stl_construct.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 57 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
# 58 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif | |
# 59 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#ifndef _GLIBCXX_ALWAYS_INLINE | |
# define _GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__)) | |
#endif | |
# 63 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Wstringop-overflow" | |
#pragma GCC diagnostic ignored "-Wstringop-overread" | |
#pragma GCC diagnostic ignored "-Warray-bounds" | |
/** | |
* @brief Mapping from character type to associated types. | |
* | |
* @note This is an implementation class for the generic version | |
* of char_traits. It defines int_type, off_type, pos_type, and | |
* state_type. By default these are unsigned long, streamoff, | |
* streampos, and mbstate_t. Users who need a different set of | |
* types, but who don't need to change the definitions of any function | |
* defined in char_traits, can specialize __gnu_cxx::_Char_types | |
* while leaving __gnu_cxx::char_traits alone. */ | |
template<typename _CharT> | |
struct _Char_types | |
{ | |
typedef unsigned long int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 88 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef std::streampos pos_type; | |
typedef std::streamoff off_type; | |
typedef std::mbstate_t state_type; | |
#endif // HOSTED | |
# 92 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
/** | |
* @brief Base class used to implement std::char_traits. | |
* | |
* @note For any given actual character type, this definition is | |
* probably wrong. (Most of the member functions are likely to be | |
* right, but the int_type and state_type typedefs, and the eof() | |
* member function, are likely to be wrong.) The reason this class | |
* exists is so users can specialize it. Classes in namespace std | |
* may not be specialized for fundamental types, but classes in | |
* namespace __gnu_cxx may be. | |
* | |
* See https://gcc.gnu.org/onlinedocs/libstdc++/manual/strings.html#strings.string.character_types | |
* for advice on how to make use of this class for @a unusual character | |
* types. Also, check out include/ext/pod_char_traits.h. | |
*/ | |
template<typename _CharT> | |
struct char_traits | |
{ | |
typedef _CharT char_type; | |
typedef typename _Char_types<_CharT>::int_type int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 116 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef typename _Char_types<_CharT>::pos_type pos_type; | |
typedef typename _Char_types<_CharT>::off_type off_type; | |
typedef typename _Char_types<_CharT>::state_type state_type; | |
#endif // HOSTED | |
# 120 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 121 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = std::strong_ordering; | |
#endif | |
# 123 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX14_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 128 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 132 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static _GLIBCXX_CONSTEXPR bool | |
eq(const char_type& __c1, const char_type& __c2) | |
{ return __c1 == __c2; } | |
static _GLIBCXX_CONSTEXPR bool | |
lt(const char_type& __c1, const char_type& __c2) | |
{ return __c1 < __c2; } | |
static _GLIBCXX14_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, std::size_t __n); | |
static _GLIBCXX14_CONSTEXPR std::size_t | |
length(const char_type* __s); | |
static _GLIBCXX14_CONSTEXPR const char_type* | |
find(const char_type* __s, std::size_t __n, const char_type& __a); | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, std::size_t __n); | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, std::size_t __n); | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, std::size_t __n, char_type __a); | |
static _GLIBCXX_CONSTEXPR char_type | |
to_char_type(const int_type& __c) | |
{ return static_cast<char_type>(__c); } | |
static _GLIBCXX_CONSTEXPR int_type | |
to_int_type(const char_type& __c) | |
{ return static_cast<int_type>(__c); } | |
static _GLIBCXX_CONSTEXPR bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) | |
{ return __c1 == __c2; } | |
#ifdef _GLIBCXX_STDIO_EOF | |
static _GLIBCXX_CONSTEXPR int_type | |
eof() | |
{ return static_cast<int_type>(_GLIBCXX_STDIO_EOF); } | |
static _GLIBCXX_CONSTEXPR int_type | |
not_eof(const int_type& __c) | |
{ return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } | |
#endif // defined(_GLIBCXX_STDIO_EOF) | |
# 182 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
template<typename _CharT> | |
_GLIBCXX14_CONSTEXPR int | |
char_traits<_CharT>:: | |
compare(const char_type* __s1, const char_type* __s2, std::size_t __n) | |
{ | |
for (std::size_t __i = 0; __i < __n; ++__i) | |
if (lt(__s1[__i], __s2[__i])) | |
return -1; | |
else if (lt(__s2[__i], __s1[__i])) | |
return 1; | |
return 0; | |
} | |
template<typename _CharT> | |
_GLIBCXX14_CONSTEXPR std::size_t | |
char_traits<_CharT>:: | |
length(const char_type* __p) | |
{ | |
std::size_t __i = 0; | |
while (!eq(__p[__i], char_type())) | |
++__i; | |
return __i; | |
} | |
template<typename _CharT> | |
_GLIBCXX14_CONSTEXPR const typename char_traits<_CharT>::char_type* | |
char_traits<_CharT>:: | |
find(const char_type* __s, std::size_t __n, const char_type& __a) | |
{ | |
for (std::size_t __i = 0; __i < __n; ++__i) | |
if (eq(__s[__i], __a)) | |
return __s + __i; | |
return 0; | |
} | |
template<typename _CharT> | |
_GLIBCXX20_CONSTEXPR | |
typename char_traits<_CharT>::char_type* | |
char_traits<_CharT>:: | |
move(char_type* __s1, const char_type* __s2, std::size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 228 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
{ | |
// Use __builtin_constant_p to avoid comparing unrelated pointers. | |
if (__builtin_constant_p(__s2 < __s1) | |
&& __s1 > __s2 && __s1 < (__s2 + __n)) | |
{ | |
do | |
{ | |
--__n; | |
assign(__s1[__n], __s2[__n]); | |
} | |
while (__n > 0); | |
} | |
else | |
copy(__s1, __s2, __n); | |
return __s1; | |
} | |
#endif | |
# 246 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__builtin_memmove(__s1, __s2, __n * sizeof(char_type)); | |
return __s1; | |
} | |
template<typename _CharT> | |
_GLIBCXX20_CONSTEXPR | |
typename char_traits<_CharT>::char_type* | |
char_traits<_CharT>:: | |
copy(char_type* __s1, const char_type* __s2, std::size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 259 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
{ | |
for (std::size_t __i = 0; __i < __n; ++__i) | |
std::construct_at(__s1 + __i, __s2[__i]); | |
return __s1; | |
} | |
#endif | |
# 266 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); | |
return __s1; | |
} | |
template<typename _CharT> | |
_GLIBCXX20_CONSTEXPR | |
typename char_traits<_CharT>::char_type* | |
char_traits<_CharT>:: | |
assign(char_type* __s, std::size_t __n, char_type __a) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 277 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
{ | |
for (std::size_t __i = 0; __i < __n; ++__i) | |
std::construct_at(__s + __i, __a); | |
return __s; | |
} | |
#endif | |
# 284 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if _GLIBCXX17_CONSTEXPR (sizeof(_CharT) == 1 && __is_trivial(_CharT)) | |
{ | |
if (__n) | |
{ | |
unsigned char __c; | |
__builtin_memcpy(&__c, __builtin_addressof(__a), 1); | |
__builtin_memset(__s, __c, __n); | |
} | |
} | |
else | |
{ | |
for (std::size_t __i = 0; __i < __n; ++__i) | |
__s[__i] = __a; | |
} | |
return __s; | |
} | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
#ifdef __cpp_lib_is_constant_evaluated | |
// Unofficial macro indicating P1032R1 support in C++20 | |
# define __cpp_lib_constexpr_char_traits 201811L | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __cplusplus >= 201703L && _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 313 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
// Unofficial macro indicating P0426R1 support in C++17 | |
# define __cpp_lib_constexpr_char_traits 201611L | |
#endif | |
# 316 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
// 21.1 | |
/** | |
* @brief Basis for explicit traits specializations. | |
* | |
* @note For any given actual character type, this definition is | |
* probably wrong. Since this is just a thin wrapper around | |
* __gnu_cxx::char_traits, it is possible to achieve a more | |
* appropriate definition by specializing __gnu_cxx::char_traits. | |
* | |
* See https://gcc.gnu.org/onlinedocs/libstdc++/manual/strings.html#strings.string.character_types | |
* for advice on how to make use of this class for @a unusual character | |
* types. Also, check out include/ext/pod_char_traits.h. | |
*/ | |
template<typename _CharT> | |
struct char_traits : public __gnu_cxx::char_traits<_CharT> | |
{ }; | |
/// 21.1.3.1 char_traits specializations | |
template<> | |
struct char_traits<char> | |
{ | |
typedef char char_type; | |
typedef int int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 342 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef streampos pos_type; | |
typedef streamoff off_type; | |
typedef mbstate_t state_type; | |
#endif // HOSTED | |
# 346 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 347 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = strong_ordering; | |
#endif | |
# 349 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX17_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 354 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 358 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static _GLIBCXX_CONSTEXPR bool | |
eq(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
static _GLIBCXX_CONSTEXPR bool | |
lt(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ | |
// LWG 467. | |
return (static_cast<unsigned char>(__c1) | |
< static_cast<unsigned char>(__c2)); | |
} | |
static _GLIBCXX17_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 379 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
if (lt(__s1[__i], __s2[__i])) | |
return -1; | |
else if (lt(__s2[__i], __s1[__i])) | |
return 1; | |
return 0; | |
} | |
#endif | |
# 389 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return __builtin_memcmp(__s1, __s2, __n); | |
} | |
static _GLIBCXX17_CONSTEXPR size_t | |
length(const char_type* __s) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 396 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::length(__s); | |
#endif | |
# 399 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return __builtin_strlen(__s); | |
} | |
static _GLIBCXX17_CONSTEXPR const char_type* | |
find(const char_type* __s, size_t __n, const char_type& __a) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 408 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a); | |
#endif | |
# 411 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 420 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::move(__s1, __s2, __n); | |
#endif | |
# 423 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 432 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::copy(__s1, __s2, __n); | |
#endif | |
# 435 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, size_t __n, char_type __a) | |
{ | |
if (__n == 0) | |
return __s; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 444 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::assign(__s, __n, __a); | |
#endif | |
# 447 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); | |
} | |
static _GLIBCXX_CONSTEXPR char_type | |
to_char_type(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return static_cast<char_type>(__c); } | |
// To keep both the byte 0xff and the eof symbol 0xffffffff | |
// from ending up as 0xffffffff. | |
static _GLIBCXX_CONSTEXPR int_type | |
to_int_type(const char_type& __c) _GLIBCXX_NOEXCEPT | |
{ return static_cast<int_type>(static_cast<unsigned char>(__c)); } | |
static _GLIBCXX_CONSTEXPR bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
#ifdef _GLIBCXX_STDIO_EOF | |
static _GLIBCXX_CONSTEXPR int_type | |
eof() _GLIBCXX_NOEXCEPT | |
{ return static_cast<int_type>(_GLIBCXX_STDIO_EOF); } | |
static _GLIBCXX_CONSTEXPR int_type | |
not_eof(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return (__c == eof()) ? 0 : __c; } | |
#endif // defined(_GLIBCXX_STDIO_EOF) | |
# 473 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
/// 21.1.3.2 char_traits specializations | |
template<> | |
struct char_traits<wchar_t> | |
{ | |
typedef wchar_t char_type; | |
typedef wint_t int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 484 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef streamoff off_type; | |
typedef wstreampos pos_type; | |
typedef mbstate_t state_type; | |
#endif // HOSTED | |
# 488 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 489 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = strong_ordering; | |
#endif | |
# 491 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX17_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 496 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 500 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static _GLIBCXX_CONSTEXPR bool | |
eq(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
static _GLIBCXX_CONSTEXPR bool | |
lt(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 < __c2; } | |
static _GLIBCXX17_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 517 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n); | |
#endif | |
# 520 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wmemcmp(__s1, __s2, __n); | |
} | |
static _GLIBCXX17_CONSTEXPR size_t | |
length(const char_type* __s) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 527 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::length(__s); | |
#endif | |
# 530 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wcslen(__s); | |
} | |
static _GLIBCXX17_CONSTEXPR const char_type* | |
find(const char_type* __s, size_t __n, const char_type& __a) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 539 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a); | |
#endif | |
# 542 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wmemchr(__s, __a, __n); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 551 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::move(__s1, __s2, __n); | |
#endif | |
# 554 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wmemmove(__s1, __s2, __n); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 563 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::copy(__s1, __s2, __n); | |
#endif | |
# 566 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wmemcpy(__s1, __s2, __n); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, size_t __n, char_type __a) | |
{ | |
if (__n == 0) | |
return __s; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 575 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::assign(__s, __n, __a); | |
#endif | |
# 578 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return wmemset(__s, __a, __n); | |
} | |
static _GLIBCXX_CONSTEXPR char_type | |
to_char_type(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return char_type(__c); } | |
static _GLIBCXX_CONSTEXPR int_type | |
to_int_type(const char_type& __c) _GLIBCXX_NOEXCEPT | |
{ return int_type(__c); } | |
static _GLIBCXX_CONSTEXPR bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 594 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX_CONSTEXPR int_type | |
eof() _GLIBCXX_NOEXCEPT | |
{ return static_cast<int_type>(WEOF); } | |
static _GLIBCXX_CONSTEXPR int_type | |
not_eof(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return eq_int_type(__c, eof()) ? 0 : __c; } | |
#endif // HOSTED | |
# 602 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
#else // _GLIBCXX_USE_WCHAR_T | |
# 604 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
template<> | |
struct char_traits<wchar_t> : public __gnu_cxx::char_traits<wchar_t> | |
{ }; | |
#endif //_GLIBCXX_USE_WCHAR_T | |
# 608 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
template<> | |
struct char_traits<char8_t> | |
{ | |
typedef char8_t char_type; | |
typedef unsigned int int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 616 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef u8streampos pos_type; | |
typedef streamoff off_type; | |
typedef mbstate_t state_type; | |
#endif // HOSTED | |
# 620 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 621 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = strong_ordering; | |
#endif | |
# 623 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX17_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 628 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 632 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static _GLIBCXX_CONSTEXPR bool | |
eq(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
static _GLIBCXX_CONSTEXPR bool | |
lt(const char_type& __c1, const char_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 < __c2; } | |
static _GLIBCXX17_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 649 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n); | |
#endif | |
# 652 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return __builtin_memcmp(__s1, __s2, __n); | |
} | |
static _GLIBCXX17_CONSTEXPR size_t | |
length(const char_type* __s) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 659 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::length(__s); | |
#endif | |
# 662 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
size_t __i = 0; | |
while (!eq(__s[__i], char_type())) | |
++__i; | |
return __i; | |
} | |
static _GLIBCXX17_CONSTEXPR const char_type* | |
find(const char_type* __s, size_t __n, const char_type& __a) | |
{ | |
if (__n == 0) | |
return 0; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201703L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 674 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a); | |
#endif | |
# 677 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 686 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::move(__s1, __s2, __n); | |
#endif | |
# 689 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 698 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::copy(__s1, __s2, __n); | |
#endif | |
# 701 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, size_t __n, char_type __a) | |
{ | |
if (__n == 0) | |
return __s; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 710 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::assign(__s, __n, __a); | |
#endif | |
# 713 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); | |
} | |
static _GLIBCXX_CONSTEXPR char_type | |
to_char_type(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return char_type(__c); } | |
static _GLIBCXX_CONSTEXPR int_type | |
to_int_type(const char_type& __c) _GLIBCXX_NOEXCEPT | |
{ return int_type(__c); } | |
static _GLIBCXX_CONSTEXPR bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) _GLIBCXX_NOEXCEPT | |
{ return __c1 == __c2; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 729 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX_CONSTEXPR int_type | |
eof() _GLIBCXX_NOEXCEPT | |
{ return static_cast<int_type>(-1); } | |
static _GLIBCXX_CONSTEXPR int_type | |
not_eof(const int_type& __c) _GLIBCXX_NOEXCEPT | |
{ return eq_int_type(__c, eof()) ? 0 : __c; } | |
#endif // HOSTED | |
# 737 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
#endif //_GLIBCXX_USE_CHAR8_T | |
# 739 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 744 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
template<> | |
struct char_traits<char16_t> | |
{ | |
typedef char16_t char_type; | |
#ifdef __UINT_LEAST16_TYPE__ | |
typedef __UINT_LEAST16_TYPE__ int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined _GLIBCXX_USE_C99_STDINT_TR1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 756 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef uint_least16_t int_type; | |
#else | |
# 758 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef make_unsigned<char16_t>::type int_type; | |
#endif | |
# 760 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 761 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef streamoff off_type; | |
typedef u16streampos pos_type; | |
typedef mbstate_t state_type; | |
#endif // HOSTED | |
# 765 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 766 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = strong_ordering; | |
#endif | |
# 768 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX17_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) noexcept | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 773 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 777 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static constexpr bool | |
eq(const char_type& __c1, const char_type& __c2) noexcept | |
{ return __c1 == __c2; } | |
static constexpr bool | |
lt(const char_type& __c1, const char_type& __c2) noexcept | |
{ return __c1 < __c2; } | |
static _GLIBCXX17_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
if (lt(__s1[__i], __s2[__i])) | |
return -1; | |
else if (lt(__s2[__i], __s1[__i])) | |
return 1; | |
return 0; | |
} | |
static _GLIBCXX17_CONSTEXPR size_t | |
length(const char_type* __s) | |
{ | |
size_t __i = 0; | |
while (!eq(__s[__i], char_type())) | |
++__i; | |
return __i; | |
} | |
static _GLIBCXX17_CONSTEXPR const char_type* | |
find(const char_type* __s, size_t __n, const char_type& __a) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
if (eq(__s[__i], __a)) | |
return __s + __i; | |
return 0; | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 823 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::move(__s1, __s2, __n); | |
#endif | |
# 826 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return (static_cast<char_type*> | |
(__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 836 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::copy(__s1, __s2, __n); | |
#endif | |
# 839 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return (static_cast<char_type*> | |
(__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, size_t __n, char_type __a) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
assign(__s[__i], __a); | |
return __s; | |
} | |
static constexpr char_type | |
to_char_type(const int_type& __c) noexcept | |
{ return char_type(__c); } | |
static constexpr bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept | |
{ return __c1 == __c2; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 860 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static constexpr int_type | |
to_int_type(const char_type& __c) noexcept | |
{ return __c == eof() ? int_type(0xfffd) : int_type(__c); } | |
static constexpr int_type | |
eof() noexcept | |
{ return static_cast<int_type>(-1); } | |
static constexpr int_type | |
not_eof(const int_type& __c) noexcept | |
{ return eq_int_type(__c, eof()) ? 0 : __c; } | |
#else // !HOSTED | |
# 872 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static constexpr int_type | |
to_int_type(const char_type& __c) noexcept | |
{ return int_type(__c); } | |
#endif // !HOSTED | |
# 876 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
template<> | |
struct char_traits<char32_t> | |
{ | |
typedef char32_t char_type; | |
#ifdef __UINT_LEAST32_TYPE__ | |
typedef __UINT_LEAST32_TYPE__ int_type; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined _GLIBCXX_USE_C99_STDINT_TR1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 885 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef uint_least32_t int_type; | |
#else | |
# 887 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef make_unsigned<char32_t>::type int_type; | |
#endif | |
# 889 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 890 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
typedef streamoff off_type; | |
typedef u32streampos pos_type; | |
typedef mbstate_t state_type; | |
#endif // HOSTED | |
# 894 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 895 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
using comparison_category = strong_ordering; | |
#endif | |
# 897 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static _GLIBCXX17_CONSTEXPR void | |
assign(char_type& __c1, const char_type& __c2) noexcept | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_constexpr_dynamic_alloc | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 902 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
std::construct_at(__builtin_addressof(__c1), __c2); | |
else | |
#endif | |
# 906 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
__c1 = __c2; | |
} | |
static constexpr bool | |
eq(const char_type& __c1, const char_type& __c2) noexcept | |
{ return __c1 == __c2; } | |
static constexpr bool | |
lt(const char_type& __c1, const char_type& __c2) noexcept | |
{ return __c1 < __c2; } | |
static _GLIBCXX17_CONSTEXPR int | |
compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
if (lt(__s1[__i], __s2[__i])) | |
return -1; | |
else if (lt(__s2[__i], __s1[__i])) | |
return 1; | |
return 0; | |
} | |
static _GLIBCXX17_CONSTEXPR size_t | |
length(const char_type* __s) | |
{ | |
size_t __i = 0; | |
while (!eq(__s[__i], char_type())) | |
++__i; | |
return __i; | |
} | |
static _GLIBCXX17_CONSTEXPR const char_type* | |
find(const char_type* __s, size_t __n, const char_type& __a) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
if (eq(__s[__i], __a)) | |
return __s + __i; | |
return 0; | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
move(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 952 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::move(__s1, __s2, __n); | |
#endif | |
# 955 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return (static_cast<char_type*> | |
(__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
copy(char_type* __s1, const char_type* __s2, size_t __n) | |
{ | |
if (__n == 0) | |
return __s1; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 202002L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 965 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
if (std::__is_constant_evaluated()) | |
return __gnu_cxx::char_traits<char_type>::copy(__s1, __s2, __n); | |
#endif | |
# 968 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
return (static_cast<char_type*> | |
(__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); | |
} | |
static _GLIBCXX20_CONSTEXPR char_type* | |
assign(char_type* __s, size_t __n, char_type __a) | |
{ | |
for (size_t __i = 0; __i < __n; ++__i) | |
assign(__s[__i], __a); | |
return __s; | |
} | |
static constexpr char_type | |
to_char_type(const int_type& __c) noexcept | |
{ return char_type(__c); } | |
static constexpr int_type | |
to_int_type(const char_type& __c) noexcept | |
{ return int_type(__c); } | |
static constexpr bool | |
eq_int_type(const int_type& __c1, const int_type& __c2) noexcept | |
{ return __c1 == __c2; } | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_HOSTED | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 993 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
static constexpr int_type | |
eof() noexcept | |
{ return static_cast<int_type>(-1); } | |
static constexpr int_type | |
not_eof(const int_type& __c) noexcept | |
{ return eq_int_type(__c, eof()) ? 0 : __c; } | |
#endif // HOSTED | |
# 1001 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
}; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cpp_lib_three_way_comparison | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 1004 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
namespace __detail | |
{ | |
template<typename _ChTraits> | |
constexpr auto | |
__char_traits_cmp_cat(int __cmp) noexcept | |
{ | |
if constexpr (requires { typename _ChTraits::comparison_category; }) | |
{ | |
using _Cat = typename _ChTraits::comparison_category; | |
static_assert( !is_void_v<common_comparison_category_t<_Cat>> ); | |
return static_cast<_Cat>(__cmp <=> 0); | |
} | |
else | |
return static_cast<weak_ordering>(__cmp <=> 0); | |
} | |
} // namespace __detail | |
#endif // C++20 | |
# 1021 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#pragma GCC diagnostic pop | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif // C++11 | |
# 1028 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif // _CHAR_TRAITS_H | |
# 1030 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h" 3 | |
#endif /* char_traits.h expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* localefwd.h expanded by -frewrite-includes */ | |
#include <bits/localefwd.h> // For class locale | |
#else /* localefwd.h expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 1 3 | |
// <locale> Forward declarations -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/localefwd.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{locale} | |
*/ | |
// | |
// ISO C++ 14882: 22.1 Locales | |
// | |
#ifndef _LOCALE_FWD_H | |
#define _LOCALE_FWD_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* c++locale.h expanded by -frewrite-includes */ | |
#include <bits/c++locale.h> // Defines __c_locale, config-specific include | |
#else /* c++locale.h expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 1 3 | |
// Wrapper for underlying C-language localization -*- C++ -*- | |
// Copyright (C) 2001-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/c++locale.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{locale} | |
*/ | |
// | |
// ISO C++ 14882: 22.8 Standard locale categories. | |
// | |
// Written by Benjamin Kosnik <[email protected]> | |
#ifndef _GLIBCXX_CXX_LOCALE_H | |
#define _GLIBCXX_CXX_LOCALE_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* clocale expanded by -frewrite-includes */ | |
#include <clocale> | |
#else /* clocale expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 1 3 | |
// -*- C++ -*- forwarding header. | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file clocale | |
* This is a Standard C++ Library file. You should @c \#include this file | |
* in your programs, rather than any of the @a *.h implementation files. | |
* | |
* This is the C++ version of the Standard C Library header @c locale.h, | |
* and its contents are (mostly) the same as that header, but are all | |
* contained in the namespace @c std (except for names which are defined | |
* as macros in C). | |
*/ | |
// | |
// ISO C++ 14882: 18.2.2 Implementation properties: C library | |
// | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* locale.h expanded by -frewrite-includes */ | |
#include <locale.h> | |
#else /* locale.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 3 | |
# 1 "/usr/include/locale.h" 1 3 4 | |
/* Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* ISO C99 Standard: 7.11 Localization <locale.h> | |
*/ | |
#ifndef _LOCALE_H | |
#define _LOCALE_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 25 "/usr/include/locale.h" 3 4 | |
# 26 "/usr/include/locale.h" 3 4 | |
#define __need_NULL | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stddef.h expanded by -frewrite-includes */ | |
#include <stddef.h> | |
#else /* stddef.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/locale.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 1 3 4 | |
/*===---- stddef.h - Basic type definitions --------------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stddef.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stddef.h | |
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stddef.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *` | |
* wouldn't export any stddef interfaces as expected. However, since stddef.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDDEF_H) || __has_feature(modules) || \ | |
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \ | |
defined(__need_ptrdiff_t) || defined(__need_size_t) || \ | |
defined(__need_rsize_t) || defined(__need_wchar_t) || \ | |
defined(__need_NULL) || defined(__need_nullptr_t) || \ | |
defined(__need_unreachable) || defined(__need_max_align_t) || \ | |
defined(__need_offsetof) || defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | |
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | |
!defined(__need_NULL) && !defined(__need_nullptr_t) && \ | |
!defined(__need_unreachable) && !defined(__need_max_align_t) && \ | |
!defined(__need_offsetof) && !defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __STDDEF_H | |
#define __need_ptrdiff_t | |
#define __need_size_t | |
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | |
* enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_rsize_t | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_wchar_t | |
#define __need_NULL | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | |
defined(__cplusplus) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_nullptr_t | |
#endif | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 59 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_unreachable | |
#endif | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_max_align_t | |
#endif | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_offsetof | |
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | |
* for compatibility, but must be explicitly requested. Therefore | |
* __need_wint_t is intentionally not defined here. */ | |
#endif | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_ptrdiff_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_ptrdiff_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_ptrdiff_t | |
#endif /* defined(__need_ptrdiff_t) */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_size_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_size_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_size_t | |
#endif /*defined(__need_size_t) */ | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_rsize_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_rsize_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 83 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_rsize_t | |
#endif /* defined(__need_rsize_t) */ | |
# 85 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wchar_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wchar_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 88 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wchar_t | |
#endif /* defined(__need_wchar_t) */ | |
# 90 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_NULL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_null.h expanded by -frewrite-includes */ | |
#include <__stddef_null.h> | |
#else /* __stddef_null.h expanded by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 1 3 4 | |
/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(NULL) || !__building_module(_Builtin_stddef) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | |
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | |
* Modules don't support redefining macros like that, but support that pattern | |
* in the non-modules case. | |
*/ | |
#undef NULL | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__MINGW32__) && !defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL __null | |
#else | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL 0 | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#else | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL ((void*)0) | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif /* __stddef_null.h expanded by -frewrite-includes */ | |
# 93 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_NULL | |
#endif /* defined(__need_NULL) */ | |
# 95 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_nullptr_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_nullptr_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 98 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_nullptr_t | |
#endif /* defined(__need_nullptr_t) */ | |
# 100 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_unreachable) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_unreachable.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 103 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_unreachable | |
#endif /* defined(__need_unreachable) */ | |
# 105 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_max_align_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_max_align_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 108 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_max_align_t | |
#endif /* defined(__need_max_align_t) */ | |
# 110 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_offsetof) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_offsetof.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 113 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_offsetof | |
#endif /* defined(__need_offsetof) */ | |
# 115 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | |
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wint_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 120 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wint_t | |
#endif /* __need_wint_t */ | |
# 122 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif | |
# 124 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif /* stddef.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/locale.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* locale.h expanded by -frewrite-includes */ | |
#include <bits/locale.h> | |
#else /* locale.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/locale.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/locale.h" 1 3 4 | |
/* Definition of locale category symbol values. | |
Copyright (C) 2001-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined _LOCALE_H && !defined _LANGINFO_H | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 20 "/usr/include/x86_64-linux-gnu/bits/locale.h" 3 4 | |
# error "Never use <bits/locale.h> directly; include <locale.h> instead." | |
#endif | |
# 22 "/usr/include/x86_64-linux-gnu/bits/locale.h" 3 4 | |
#ifndef _BITS_LOCALE_H | |
#define _BITS_LOCALE_H 1 | |
#define __LC_CTYPE 0 | |
#define __LC_NUMERIC 1 | |
#define __LC_TIME 2 | |
#define __LC_COLLATE 3 | |
#define __LC_MONETARY 4 | |
#define __LC_MESSAGES 5 | |
#define __LC_ALL 6 | |
#define __LC_PAPER 7 | |
#define __LC_NAME 8 | |
#define __LC_ADDRESS 9 | |
#define __LC_TELEPHONE 10 | |
#define __LC_MEASUREMENT 11 | |
#define __LC_IDENTIFICATION 12 | |
#endif /* bits/locale.h */ | |
# 41 "/usr/include/x86_64-linux-gnu/bits/locale.h" 3 4 | |
#endif /* locale.h expanded by -frewrite-includes */ | |
# 30 "/usr/include/locale.h" 2 3 4 | |
__BEGIN_DECLS | |
/* These are the possibilities for the first argument to setlocale. | |
The code assumes that the lowest LC_* symbol has the value zero. */ | |
#define LC_CTYPE __LC_CTYPE | |
#define LC_NUMERIC __LC_NUMERIC | |
#define LC_TIME __LC_TIME | |
#define LC_COLLATE __LC_COLLATE | |
#define LC_MONETARY __LC_MONETARY | |
#define LC_MESSAGES __LC_MESSAGES | |
#define LC_ALL __LC_ALL | |
#define LC_PAPER __LC_PAPER | |
#define LC_NAME __LC_NAME | |
#define LC_ADDRESS __LC_ADDRESS | |
#define LC_TELEPHONE __LC_TELEPHONE | |
#define LC_MEASUREMENT __LC_MEASUREMENT | |
#define LC_IDENTIFICATION __LC_IDENTIFICATION | |
/* Structure giving information about numeric and monetary notation. */ | |
struct lconv | |
{ | |
/* Numeric (non-monetary) information. */ | |
char *decimal_point; /* Decimal point character. */ | |
char *thousands_sep; /* Thousands separator. */ | |
/* Each element is the number of digits in each group; | |
elements with higher indices are farther left. | |
An element with value CHAR_MAX means that no further grouping is done. | |
An element with value 0 means that the previous element is used | |
for all groups farther left. */ | |
char *grouping; | |
/* Monetary information. */ | |
/* First three chars are a currency symbol from ISO 4217. | |
Fourth char is the separator. Fifth char is '\0'. */ | |
char *int_curr_symbol; | |
char *currency_symbol; /* Local currency symbol. */ | |
char *mon_decimal_point; /* Decimal point character. */ | |
char *mon_thousands_sep; /* Thousands separator. */ | |
char *mon_grouping; /* Like `grouping' element (above). */ | |
char *positive_sign; /* Sign for positive values. */ | |
char *negative_sign; /* Sign for negative values. */ | |
char int_frac_digits; /* Int'l fractional digits. */ | |
char frac_digits; /* Local fractional digits. */ | |
/* 1 if currency_symbol precedes a positive value, 0 if succeeds. */ | |
char p_cs_precedes; | |
/* 1 iff a space separates currency_symbol from a positive value. */ | |
char p_sep_by_space; | |
/* 1 if currency_symbol precedes a negative value, 0 if succeeds. */ | |
char n_cs_precedes; | |
/* 1 iff a space separates currency_symbol from a negative value. */ | |
char n_sep_by_space; | |
/* Positive and negative sign positions: | |
0 Parentheses surround the quantity and currency_symbol. | |
1 The sign string precedes the quantity and currency_symbol. | |
2 The sign string follows the quantity and currency_symbol. | |
3 The sign string immediately precedes the currency_symbol. | |
4 The sign string immediately follows the currency_symbol. */ | |
char p_sign_posn; | |
char n_sign_posn; | |
#ifdef __USE_ISOC99 | |
/* 1 if int_curr_symbol precedes a positive value, 0 if succeeds. */ | |
char int_p_cs_precedes; | |
/* 1 iff a space separates int_curr_symbol from a positive value. */ | |
char int_p_sep_by_space; | |
/* 1 if int_curr_symbol precedes a negative value, 0 if succeeds. */ | |
char int_n_cs_precedes; | |
/* 1 iff a space separates int_curr_symbol from a negative value. */ | |
char int_n_sep_by_space; | |
/* Positive and negative sign positions: | |
0 Parentheses surround the quantity and int_curr_symbol. | |
1 The sign string precedes the quantity and int_curr_symbol. | |
2 The sign string follows the quantity and int_curr_symbol. | |
3 The sign string immediately precedes the int_curr_symbol. | |
4 The sign string immediately follows the int_curr_symbol. */ | |
char int_p_sign_posn; | |
char int_n_sign_posn; | |
#else | |
# 111 "/usr/include/locale.h" 3 4 | |
char __int_p_cs_precedes; | |
char __int_p_sep_by_space; | |
char __int_n_cs_precedes; | |
char __int_n_sep_by_space; | |
char __int_p_sign_posn; | |
char __int_n_sign_posn; | |
#endif | |
# 118 "/usr/include/locale.h" 3 4 | |
}; | |
/* Set and/or return the current locale. */ | |
extern char *setlocale (int __category, const char *__locale) __THROW; | |
/* Return the numeric/monetary information for the current locale. */ | |
extern struct lconv *localeconv (void) __THROW; | |
#ifdef __USE_XOPEN2K8 | |
/* POSIX.1-2008 extends the locale interface with functions for | |
explicit creation and manipulation of 'locale_t' objects | |
representing locale contexts, and a set of parallel | |
locale-sensitive text processing functions that take a locale_t | |
argument. This enables applications to work with data from | |
multiple locales simultaneously and thread-safely. */ | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/types/locale_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 135 "/usr/include/locale.h" 3 4 | |
# 136 "/usr/include/locale.h" 3 4 | |
/* Return a reference to a data structure representing a set of locale | |
datasets. Unlike for the CATEGORY parameter for `setlocale' the | |
CATEGORY_MASK parameter here uses a single bit for each category, | |
made by OR'ing together LC_*_MASK bits above. */ | |
extern locale_t newlocale (int __category_mask, const char *__locale, | |
locale_t __base) __THROW; | |
/* These are the bits that can be set in the CATEGORY_MASK argument to | |
`newlocale'. In the GNU implementation, LC_FOO_MASK has the value | |
of (1 << LC_FOO), but this is not a part of the interface that | |
callers can assume will be true. */ | |
# define LC_CTYPE_MASK (1 << __LC_CTYPE) | |
# define LC_NUMERIC_MASK (1 << __LC_NUMERIC) | |
# define LC_TIME_MASK (1 << __LC_TIME) | |
# define LC_COLLATE_MASK (1 << __LC_COLLATE) | |
# define LC_MONETARY_MASK (1 << __LC_MONETARY) | |
# define LC_MESSAGES_MASK (1 << __LC_MESSAGES) | |
# define LC_PAPER_MASK (1 << __LC_PAPER) | |
# define LC_NAME_MASK (1 << __LC_NAME) | |
# define LC_ADDRESS_MASK (1 << __LC_ADDRESS) | |
# define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE) | |
# define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT) | |
# define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION) | |
# define LC_ALL_MASK (LC_CTYPE_MASK \ | |
| LC_NUMERIC_MASK \ | |
| LC_TIME_MASK \ | |
| LC_COLLATE_MASK \ | |
| LC_MONETARY_MASK \ | |
| LC_MESSAGES_MASK \ | |
| LC_PAPER_MASK \ | |
| LC_NAME_MASK \ | |
| LC_ADDRESS_MASK \ | |
| LC_TELEPHONE_MASK \ | |
| LC_MEASUREMENT_MASK \ | |
| LC_IDENTIFICATION_MASK \ | |
) | |
/* Return a duplicate of the set of locale in DATASET. All usage | |
counters are increased if necessary. */ | |
extern locale_t duplocale (locale_t __dataset) __THROW; | |
/* Free the data associated with a locale dataset previously returned | |
by a call to `setlocale_r'. */ | |
extern void freelocale (locale_t __dataset) __THROW; | |
/* Switch the current thread's locale to DATASET. | |
If DATASET is null, instead just return the current setting. | |
The special value LC_GLOBAL_LOCALE is the initial setting | |
for all threads and can also be installed any time, meaning | |
the thread uses the global settings controlled by `setlocale'. */ | |
extern locale_t uselocale (locale_t __dataset) __THROW; | |
/* This value can be passed to `uselocale' and may be returned by it. | |
Passing this value to any other function has undefined behavior. */ | |
# define LC_GLOBAL_LOCALE ((locale_t) -1L) | |
#endif | |
# 194 "/usr/include/locale.h" 3 4 | |
__END_DECLS | |
#endif /* locale.h */ | |
# 198 "/usr/include/locale.h" 3 4 | |
#endif /* locale.h expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 2 3 | |
#ifndef _GLIBCXX_CLOCALE | |
#define _GLIBCXX_CLOCALE 1 | |
// Get rid of those macros defined in <locale.h> in lieu of real functions. | |
#undef setlocale | |
#undef localeconv | |
namespace std | |
{ | |
using ::lconv; | |
using ::setlocale; | |
using ::localeconv; | |
} // namespace std | |
#endif | |
# 59 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/clocale" 3 | |
#endif /* clocale expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 2 3 | |
#define _GLIBCXX_C_LOCALE_GNU 1 | |
#define _GLIBCXX_NUM_CATEGORIES 6 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 48 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
extern "C" __typeof(uselocale) __uselocale; | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif | |
# 57 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
typedef __locale_t __c_locale; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ | |
&& defined __LONG_DOUBLE_IEEE128__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 66 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
namespace __gnu_cxx_ieee128 { | |
#endif | |
# 68 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
// Convert numeric value of type double and long double to string and | |
// return length of string. If vsnprintf is available use it, otherwise | |
// fall back to the unsafe vsprintf which, in general, can be dangerous | |
// and should be avoided. | |
inline int | |
__convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), | |
char* __out, | |
const int __size __attribute__ ((__unused__)), | |
const char* __fmt, ...) | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 80 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
__c_locale __old = __gnu_cxx::__uselocale(__cloc); | |
#else | |
# 82 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
char* __old = std::setlocale(LC_NUMERIC, 0); | |
char* __sav = 0; | |
if (__builtin_strcmp(__old, "C")) | |
{ | |
const size_t __len = __builtin_strlen(__old) + 1; | |
__sav = new char[__len]; | |
__builtin_memcpy(__sav, __old, __len); | |
std::setlocale(LC_NUMERIC, "C"); | |
} | |
#endif | |
# 92 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
__builtin_va_list __args; | |
__builtin_va_start(__args, __fmt); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if _GLIBCXX_USE_C99_STDIO | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); | |
#else | |
# 99 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
const int __ret = __builtin_vsprintf(__out, __fmt, __args); | |
#endif | |
# 101 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
__builtin_va_end(__args); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 105 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
__gnu_cxx::__uselocale(__old); | |
#else | |
# 107 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
if (__sav) | |
{ | |
std::setlocale(LC_NUMERIC, __sav); | |
delete [] __sav; | |
} | |
#endif | |
# 113 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
return __ret; | |
} | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ | |
&& defined __LONG_DOUBLE_IEEE128__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 118 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
} // namespace __gnu_cxx_ieee128 | |
#endif | |
# 120 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
#endif | |
# 125 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++locale.h" 3 | |
#endif /* c++locale.h expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 2 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <iosfwd> // For ostreambuf_iterator, istreambuf_iterator | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cctype expanded by -frewrite-includes */ | |
#include <cctype> | |
#else /* cctype expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 1 3 | |
// -*- C++ -*- forwarding header. | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file include/cctype | |
* This is a Standard C++ Library file. You should @c \#include this file | |
* in your programs, rather than any of the @a *.h implementation files. | |
* | |
* This is the C++ version of the Standard C Library header @c ctype.h, | |
* and its contents are (mostly) the same as that header, but are all | |
* contained in the namespace @c std (except for names which are defined | |
* as macros in C). | |
*/ | |
// | |
// ISO C++ 14882: <ccytpe> | |
// | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 40 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 41 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* ctype.h expanded by -frewrite-includes */ | |
#include <ctype.h> | |
#else /* ctype.h expanded by -frewrite-includes */ | |
# 42 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
# 1 "/usr/include/ctype.h" 1 3 4 | |
/* Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* ISO C99 Standard 7.4: Character handling <ctype.h> | |
*/ | |
#ifndef _CTYPE_H | |
#define _CTYPE_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 25 "/usr/include/ctype.h" 3 4 | |
# 26 "/usr/include/ctype.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* types.h expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#else /* types.h expanded by -frewrite-includes */ | |
# 26 "/usr/include/ctype.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 | |
/* bits/types.h -- definitions of __*_t types underlying *_t types. | |
Copyright (C) 2002-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* Never include this file directly; use <sys/types.h> instead. | |
*/ | |
#ifndef _BITS_TYPES_H | |
#define _BITS_TYPES_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 26 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* timesize.h expanded by -frewrite-includes */ | |
#include <bits/timesize.h> | |
#else /* timesize.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 | |
/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. | |
Copyright (C) 2018-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
/* For x32, time is 64-bit even though word size is 32-bit. */ | |
# define __TIMESIZE 64 | |
#else | |
# 25 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
/* For others, time size is word size. */ | |
# define __TIMESIZE __WORDSIZE | |
#endif | |
# 28 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 | |
#endif /* timesize.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 | |
/* Convenience types. */ | |
typedef unsigned char __u_char; | |
typedef unsigned short int __u_short; | |
typedef unsigned int __u_int; | |
typedef unsigned long int __u_long; | |
/* Fixed-size types, underlying types depend on word size and compiler. */ | |
typedef signed char __int8_t; | |
typedef unsigned char __uint8_t; | |
typedef signed short int __int16_t; | |
typedef unsigned short int __uint16_t; | |
typedef signed int __int32_t; | |
typedef unsigned int __uint32_t; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
typedef signed long int __int64_t; | |
typedef unsigned long int __uint64_t; | |
#else | |
# 47 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
__extension__ typedef signed long long int __int64_t; | |
__extension__ typedef unsigned long long int __uint64_t; | |
#endif | |
# 50 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
/* Smallest types with at least a given width. */ | |
typedef __int8_t __int_least8_t; | |
typedef __uint8_t __uint_least8_t; | |
typedef __int16_t __int_least16_t; | |
typedef __uint16_t __uint_least16_t; | |
typedef __int32_t __int_least32_t; | |
typedef __uint32_t __uint_least32_t; | |
typedef __int64_t __int_least64_t; | |
typedef __uint64_t __uint_least64_t; | |
/* quad_t is also 64 bits. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
typedef long int __quad_t; | |
typedef unsigned long int __u_quad_t; | |
#else | |
# 66 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
__extension__ typedef long long int __quad_t; | |
__extension__ typedef unsigned long long int __u_quad_t; | |
#endif | |
# 69 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
/* Largest integral types. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
typedef long int __intmax_t; | |
typedef unsigned long int __uintmax_t; | |
#else | |
# 75 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
__extension__ typedef long long int __intmax_t; | |
__extension__ typedef unsigned long long int __uintmax_t; | |
#endif | |
# 78 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE | |
macros for each of the OS types we define below. The definitions | |
of those macros must use the following macros for underlying types. | |
We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned | |
variants of each of the following integer types on this machine. | |
16 -- "natural" 16-bit type (always short) | |
32 -- "natural" 32-bit type (always int) | |
64 -- "natural" 64-bit type (long or long long) | |
LONG32 -- 32-bit type, traditionally long | |
QUAD -- 64-bit type, traditionally long long | |
WORD -- natural type of __WORDSIZE bits (int or long) | |
LONGWORD -- type of __WORDSIZE bits, traditionally long | |
We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the | |
conventional uses of `long' or `long long' type modifiers match the | |
types we define, even when a less-adorned type would be the same size. | |
This matters for (somewhat) portably writing printf/scanf formats for | |
these types, where using the appropriate l or ll format modifiers can | |
make the typedefs and the formats match up across all GNU platforms. If | |
we used `long' when it's 64 bits where `long long' is expected, then the | |
compiler would warn about the formats not matching the argument types, | |
and the programmer changing them to shut up the compiler would break the | |
program's portability. | |
Here we assume what is presently the case in all the GCC configurations | |
we support: long long is always 64 bits, long is always word/address size, | |
and int is always 32 bits. */ | |
#define __S16_TYPE short int | |
#define __U16_TYPE unsigned short int | |
#define __S32_TYPE int | |
#define __U32_TYPE unsigned int | |
#define __SLONGWORD_TYPE long int | |
#define __ULONGWORD_TYPE unsigned long int | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __WORDSIZE == 32 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 116 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# define __SQUAD_TYPE __int64_t | |
# define __UQUAD_TYPE __uint64_t | |
# define __SWORD_TYPE int | |
# define __UWORD_TYPE unsigned int | |
# define __SLONG32_TYPE long int | |
# define __ULONG32_TYPE unsigned long int | |
# define __S64_TYPE __int64_t | |
# define __U64_TYPE __uint64_t | |
/* We want __extension__ before typedef's that use nonstandard base types | |
such as `long long' in C89 mode. */ | |
# define __STD_TYPE __extension__ typedef | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 1 /* evaluated by -frewrite-includes */ | |
# 128 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# define __SQUAD_TYPE long int | |
# define __UQUAD_TYPE unsigned long int | |
# define __SWORD_TYPE long int | |
# define __UWORD_TYPE unsigned long int | |
# define __SLONG32_TYPE int | |
# define __ULONG32_TYPE unsigned int | |
# define __S64_TYPE long int | |
# define __U64_TYPE unsigned long int | |
/* No need to mark the typedef with __extension__. */ | |
# define __STD_TYPE typedef | |
#else | |
# 139 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# error | |
#endif | |
# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* typesizes.h expanded by -frewrite-includes */ | |
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */ | |
#else /* typesizes.h expanded by -frewrite-includes */ | |
# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 | |
/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. | |
Copyright (C) 2012-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TYPES_H | |
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." | |
#endif | |
# 22 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
#ifndef _BITS_TYPESIZES_H | |
#define _BITS_TYPESIZES_H 1 | |
/* See <bits/types.h> for the meaning of these macros. This file exists so | |
that <bits/types.h> need not vary across different GNU platforms. */ | |
/* X32 kernel interface is 64-bit. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 31 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE | |
# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE | |
#else | |
# 34 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE | |
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE | |
#endif | |
# 37 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
#define __DEV_T_TYPE __UQUAD_TYPE | |
#define __UID_T_TYPE __U32_TYPE | |
#define __GID_T_TYPE __U32_TYPE | |
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE | |
#define __INO64_T_TYPE __UQUAD_TYPE | |
#define __MODE_T_TYPE __U32_TYPE | |
#ifdef __x86_64__ | |
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE | |
# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE | |
#else | |
# 48 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
# define __NLINK_T_TYPE __UWORD_TYPE | |
# define __FSWORD_T_TYPE __SWORD_TYPE | |
#endif | |
# 51 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __OFF64_T_TYPE __SQUAD_TYPE | |
#define __PID_T_TYPE __S32_TYPE | |
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE | |
#define __RLIM64_T_TYPE __UQUAD_TYPE | |
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __BLKCNT64_T_TYPE __SQUAD_TYPE | |
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE | |
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE | |
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE | |
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE | |
#define __ID_T_TYPE __U32_TYPE | |
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __USECONDS_T_TYPE __U32_TYPE | |
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __SUSECONDS64_T_TYPE __SQUAD_TYPE | |
#define __DADDR_T_TYPE __S32_TYPE | |
#define __KEY_T_TYPE __S32_TYPE | |
#define __CLOCKID_T_TYPE __S32_TYPE | |
#define __TIMER_T_TYPE void * | |
#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE | |
#define __FSID_T_TYPE struct { int __val[2]; } | |
#define __SSIZE_T_TYPE __SWORD_TYPE | |
#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE | |
#ifdef __x86_64__ | |
/* Tell the libc code that off_t and off64_t are actually the same type | |
for all ABI purposes, even if possibly expressed as different base types | |
for C type-checking purposes. */ | |
# define __OFF_T_MATCHES_OFF64_T 1 | |
/* Same for ino_t and ino64_t. */ | |
# define __INO_T_MATCHES_INO64_T 1 | |
/* And for __rlim_t and __rlim64_t. */ | |
# define __RLIM_T_MATCHES_RLIM64_T 1 | |
/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ | |
# define __STATFS_MATCHES_STATFS64 1 | |
/* And for getitimer, setitimer and rusage */ | |
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 | |
#else | |
# 95 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
# define __RLIM_T_MATCHES_RLIM64_T 0 | |
# define __STATFS_MATCHES_STATFS64 0 | |
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 | |
#endif | |
# 101 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
/* Number of descriptors that can fit in an `fd_set'. */ | |
#define __FD_SETSIZE 1024 | |
#endif /* bits/typesizes.h */ | |
# 107 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 3 4 | |
#endif /* typesizes.h expanded by -frewrite-includes */ | |
# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* time64.h expanded by -frewrite-includes */ | |
#include <bits/time64.h> /* Defines __TIME*_T_TYPE macros. */ | |
#else /* time64.h expanded by -frewrite-includes */ | |
# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 | |
/* bits/time64.h -- underlying types for __time64_t. Generic version. | |
Copyright (C) 2018-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TYPES_H | |
# error "Never include <bits/time64.h> directly; use <sys/types.h> instead." | |
#endif | |
# 22 "/usr/include/x86_64-linux-gnu/bits/time64.h" 3 4 | |
#ifndef _BITS_TIME64_H | |
#define _BITS_TIME64_H 1 | |
/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __TIMESIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 29 "/usr/include/x86_64-linux-gnu/bits/time64.h" 3 4 | |
/* If we already have 64-bit time type then use it. */ | |
# define __TIME64_T_TYPE __TIME_T_TYPE | |
#else | |
# 32 "/usr/include/x86_64-linux-gnu/bits/time64.h" 3 4 | |
/* Define a 64-bit time type alongsize the 32-bit one. */ | |
# define __TIME64_T_TYPE __SQUAD_TYPE | |
#endif | |
# 35 "/usr/include/x86_64-linux-gnu/bits/time64.h" 3 4 | |
#endif /* bits/time64.h */ | |
# 37 "/usr/include/x86_64-linux-gnu/bits/time64.h" 3 4 | |
#endif /* time64.h expanded by -frewrite-includes */ | |
# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 | |
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ | |
__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ | |
__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ | |
__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ | |
__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ | |
__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ | |
__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ | |
__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ | |
__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ | |
__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ | |
__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ | |
__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ | |
__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ | |
__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ | |
__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ | |
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ | |
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ | |
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ | |
__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t; | |
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ | |
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ | |
/* Clock ID used in clock and timer functions. */ | |
__STD_TYPE __CLOCKID_T_TYPE __clockid_t; | |
/* Timer ID returned by `timer_create'. */ | |
__STD_TYPE __TIMER_T_TYPE __timer_t; | |
/* Type to represent block size. */ | |
__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; | |
/* Types from the Large File Support interface. */ | |
/* Type to count number of disk blocks. */ | |
__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; | |
__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; | |
/* Type to count file system blocks. */ | |
__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; | |
__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; | |
/* Type to count file system nodes. */ | |
__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; | |
__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; | |
/* Type of miscellaneous file system fields. */ | |
__STD_TYPE __FSWORD_T_TYPE __fsword_t; | |
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ | |
/* Signed long type used in system calls. */ | |
__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; | |
/* Unsigned long type used in system calls. */ | |
__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; | |
/* These few don't really vary by system, they always correspond | |
to one of the other defined types. */ | |
typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ | |
typedef char *__caddr_t; | |
/* Duplicates info from stdint.h but this is used in unistd.h. */ | |
__STD_TYPE __SWORD_TYPE __intptr_t; | |
/* Duplicate info from sys/socket.h. */ | |
__STD_TYPE __U32_TYPE __socklen_t; | |
/* C99: An integer type that can be accessed as an atomic entity, | |
even in the presence of asynchronous interrupts. | |
It is not currently necessary for this to be machine-specific. */ | |
typedef int __sig_atomic_t; | |
/* Seconds since the Epoch, visible to user code when time_t is too | |
narrow only for consistency with the old way of widening too-narrow | |
types. User code should never use __time64_t. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __TIMESIZE == 64 && defined __LIBC | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 221 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
# define __time64_t __time_t | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __TIMESIZE != 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 223 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
__STD_TYPE __TIME64_T_TYPE __time64_t; | |
#endif | |
# 225 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
#undef __STD_TYPE | |
#endif /* bits/types.h */ | |
# 229 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 | |
#endif /* types.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/ctype.h" 2 3 4 | |
__BEGIN_DECLS | |
#ifndef _ISbit | |
/* These are all the characteristics of characters. | |
If there get to be more than 16 distinct characteristics, | |
many things must be changed that use `unsigned short int's. | |
The characteristics are stored always in network byte order (big | |
endian). We define the bit value interpretations here dependent on the | |
machine's byte order. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* endian.h expanded by -frewrite-includes */ | |
# include <bits/endian.h> | |
#else /* endian.h expanded by -frewrite-includes */ | |
# 39 "/usr/include/ctype.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 | |
/* Endian macros for string.h functions | |
Copyright (C) 1992-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<http://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_ENDIAN_H | |
#define _BITS_ENDIAN_H 1 | |
/* Definitions for byte order, according to significance of bytes, | |
from low addresses to high addresses. The value is what you get by | |
putting '4' in the most significant byte, '3' in the second most | |
significant byte, '2' in the second least significant byte, and '1' | |
in the least significant byte, and then writing down one digit for | |
each byte, starting with the byte at the lowest address at the left, | |
and proceeding to the byte with the highest address at the right. */ | |
#define __LITTLE_ENDIAN 1234 | |
#define __BIG_ENDIAN 4321 | |
#define __PDP_ENDIAN 3412 | |
/* This file defines `__BYTE_ORDER' for the particular machine. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* endianness.h expanded by -frewrite-includes */ | |
#include <bits/endianness.h> | |
#else /* endianness.h expanded by -frewrite-includes */ | |
# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 | |
#ifndef _BITS_ENDIANNESS_H | |
#define _BITS_ENDIANNESS_H 1 | |
#ifndef _BITS_ENDIAN_H | |
# error "Never use <bits/endianness.h> directly; include <endian.h> instead." | |
#endif | |
# 7 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 3 4 | |
/* i386/x86_64 are little-endian. */ | |
#define __BYTE_ORDER __LITTLE_ENDIAN | |
#endif /* bits/endianness.h */ | |
# 12 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 3 4 | |
#endif /* endianness.h expanded by -frewrite-includes */ | |
# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 | |
/* Some machines may need to use a different endianness for floating point | |
values. */ | |
#ifndef __FLOAT_WORD_ORDER | |
# define __FLOAT_WORD_ORDER __BYTE_ORDER | |
#endif | |
# 42 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __BYTE_ORDER == __LITTLE_ENDIAN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
# define __LONG_LONG_PAIR(HI, LO) LO, HI | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif __BYTE_ORDER == __BIG_ENDIAN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 46 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
# define __LONG_LONG_PAIR(HI, LO) HI, LO | |
#endif | |
# 48 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
#endif /* bits/endian.h */ | |
# 50 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 | |
#endif /* endian.h expanded by -frewrite-includes */ | |
# 40 "/usr/include/ctype.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __BYTE_ORDER == __BIG_ENDIAN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 41 "/usr/include/ctype.h" 3 4 | |
# define _ISbit(bit) (1 << (bit)) | |
# else /* __BYTE_ORDER == __LITTLE_ENDIAN */ | |
# 43 "/usr/include/ctype.h" 3 4 | |
# define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) | |
# endif | |
# 45 "/usr/include/ctype.h" 3 4 | |
enum | |
{ | |
_ISupper = _ISbit (0), /* UPPERCASE. */ | |
_ISlower = _ISbit (1), /* lowercase. */ | |
_ISalpha = _ISbit (2), /* Alphabetic. */ | |
_ISdigit = _ISbit (3), /* Numeric. */ | |
_ISxdigit = _ISbit (4), /* Hexadecimal numeric. */ | |
_ISspace = _ISbit (5), /* Whitespace. */ | |
_ISprint = _ISbit (6), /* Printing. */ | |
_ISgraph = _ISbit (7), /* Graphical. */ | |
_ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */ | |
_IScntrl = _ISbit (9), /* Control character. */ | |
_ISpunct = _ISbit (10), /* Punctuation. */ | |
_ISalnum = _ISbit (11) /* Alphanumeric. */ | |
}; | |
#endif /* ! _ISbit */ | |
# 62 "/usr/include/ctype.h" 3 4 | |
/* These are defined in ctype-info.c. | |
The declarations here must match those in localeinfo.h. | |
In the thread-specific locale model (see `uselocale' in <locale.h>) | |
we cannot use global variables for these as was done in the past. | |
Instead, the following accessor functions return the address of | |
each variable, which is local to the current thread if multithreaded. | |
These point into arrays of 384, so they can be indexed by any `unsigned | |
char' value [0,255]; by EOF (-1); or by any `signed char' value | |
[-128,-1). ISO C requires that the ctype functions work for `unsigned | |
char' values and for EOF; we also support negative `signed char' values | |
for broken old programs. The case conversion arrays are of `int's | |
rather than `unsigned char's because tolower (EOF) must be EOF, which | |
doesn't fit into an `unsigned char'. But today more important is that | |
the arrays are also used for multi-byte character sets. */ | |
extern const unsigned short int **__ctype_b_loc (void) | |
__THROW __attribute__ ((__const__)); | |
extern const __int32_t **__ctype_tolower_loc (void) | |
__THROW __attribute__ ((__const__)); | |
extern const __int32_t **__ctype_toupper_loc (void) | |
__THROW __attribute__ ((__const__)); | |
#ifndef __cplusplus | |
# define __isctype(c, type) \ | |
((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
#elif defined __USE_EXTERN_INLINES | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 91 "/usr/include/ctype.h" 3 4 | |
# define __isctype_f(type) \ | |
__extern_inline int \ | |
is##type (int __c) __THROW \ | |
{ \ | |
return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \ | |
} | |
#endif | |
# 98 "/usr/include/ctype.h" 3 4 | |
#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */ | |
#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */ | |
#define __exctype(name) extern int name (int) __THROW | |
/* The following names are all functions: | |
int isCHARACTERISTIC(int c); | |
which return nonzero iff C has CHARACTERISTIC. | |
For the meaning of the characteristic names, see the `enum' above. */ | |
__exctype (isalnum); | |
__exctype (isalpha); | |
__exctype (iscntrl); | |
__exctype (isdigit); | |
__exctype (islower); | |
__exctype (isgraph); | |
__exctype (isprint); | |
__exctype (ispunct); | |
__exctype (isspace); | |
__exctype (isupper); | |
__exctype (isxdigit); | |
/* Return the lowercase version of C. */ | |
extern int tolower (int __c) __THROW; | |
/* Return the uppercase version of C. */ | |
extern int toupper (int __c) __THROW; | |
/* ISO C99 introduced one new function. */ | |
#ifdef __USE_ISOC99 | |
__exctype (isblank); | |
#endif | |
# 132 "/usr/include/ctype.h" 3 4 | |
#ifdef __USE_GNU | |
/* Test C for a set of character classes according to MASK. */ | |
extern int isctype (int __c, int __mask) __THROW; | |
#endif | |
# 137 "/usr/include/ctype.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_MISC || defined __USE_XOPEN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 139 "/usr/include/ctype.h" 3 4 | |
/* Return nonzero iff C is in the ASCII set | |
(i.e., is no more than 7 bits wide). */ | |
extern int isascii (int __c) __THROW; | |
/* Return the part of C that is in the ASCII set | |
(i.e., the low-order 7 bits of C). */ | |
extern int toascii (int __c) __THROW; | |
/* These are the same as `toupper' and `tolower' except that they do not | |
check the argument for being in the range of a `char'. */ | |
__exctype (_toupper); | |
__exctype (_tolower); | |
#endif /* Use X/Open or use misc. */ | |
# 153 "/usr/include/ctype.h" 3 4 | |
/* This code is needed for the optimized mapping functions. */ | |
#define __tobody(c, f, a, args) \ | |
(__extension__ \ | |
({ int __res; \ | |
if (sizeof (c) > 1) \ | |
{ \ | |
if (__builtin_constant_p (c)) \ | |
{ \ | |
int __c = (c); \ | |
__res = __c < -128 || __c > 255 ? __c : (a)[__c]; \ | |
} \ | |
else \ | |
__res = f args; \ | |
} \ | |
else \ | |
__res = (a)[(int) (c)]; \ | |
__res; })) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined __NO_CTYPE | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 173 "/usr/include/ctype.h" 3 4 | |
# ifdef __isctype_f | |
__isctype_f (alnum) | |
__isctype_f (alpha) | |
__isctype_f (cntrl) | |
__isctype_f (digit) | |
__isctype_f (lower) | |
__isctype_f (graph) | |
__isctype_f (print) | |
__isctype_f (punct) | |
__isctype_f (space) | |
__isctype_f (upper) | |
__isctype_f (xdigit) | |
# ifdef __USE_ISOC99 | |
__isctype_f (blank) | |
# endif | |
# 188 "/usr/include/ctype.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif defined __isctype | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 189 "/usr/include/ctype.h" 3 4 | |
# define isalnum(c) __isctype((c), _ISalnum) | |
# define isalpha(c) __isctype((c), _ISalpha) | |
# define iscntrl(c) __isctype((c), _IScntrl) | |
# define isdigit(c) __isctype((c), _ISdigit) | |
# define islower(c) __isctype((c), _ISlower) | |
# define isgraph(c) __isctype((c), _ISgraph) | |
# define isprint(c) __isctype((c), _ISprint) | |
# define ispunct(c) __isctype((c), _ISpunct) | |
# define isspace(c) __isctype((c), _ISspace) | |
# define isupper(c) __isctype((c), _ISupper) | |
# define isxdigit(c) __isctype((c), _ISxdigit) | |
# ifdef __USE_ISOC99 | |
# define isblank(c) __isctype((c), _ISblank) | |
# endif | |
# 203 "/usr/include/ctype.h" 3 4 | |
# endif | |
# 204 "/usr/include/ctype.h" 3 4 | |
# ifdef __USE_EXTERN_INLINES | |
__extern_inline int | |
__NTH (tolower (int __c)) | |
{ | |
return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; | |
} | |
__extern_inline int | |
__NTH (toupper (int __c)) | |
{ | |
return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; | |
} | |
# endif | |
# 218 "/usr/include/ctype.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 220 "/usr/include/ctype.h" 3 4 | |
# define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c)) | |
# define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c)) | |
# endif /* Optimizing gcc */ | |
# 223 "/usr/include/ctype.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __USE_MISC || defined __USE_XOPEN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 225 "/usr/include/ctype.h" 3 4 | |
# define isascii(c) __isascii (c) | |
# define toascii(c) __toascii (c) | |
# define _tolower(c) ((int) (*__ctype_tolower_loc ())[(int) (c)]) | |
# define _toupper(c) ((int) (*__ctype_toupper_loc ())[(int) (c)]) | |
# endif | |
# 231 "/usr/include/ctype.h" 3 4 | |
#endif /* Not __NO_CTYPE. */ | |
# 233 "/usr/include/ctype.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
/* POSIX.1-2008 extended locale interface (see locale.h). */ | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/types/locale_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 237 "/usr/include/ctype.h" 3 4 | |
# 238 "/usr/include/ctype.h" 3 4 | |
/* These definitions are similar to the ones above but all functions | |
take as an argument a handle for the locale which shall be used. */ | |
# define __isctype_l(c, type, locale) \ | |
((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) | |
# define __exctype_l(name) \ | |
extern int name (int, locale_t) __THROW | |
/* The following names are all functions: | |
int isCHARACTERISTIC(int c, locale_t *locale); | |
which return nonzero iff C has CHARACTERISTIC. | |
For the meaning of the characteristic names, see the `enum' above. */ | |
__exctype_l (isalnum_l); | |
__exctype_l (isalpha_l); | |
__exctype_l (iscntrl_l); | |
__exctype_l (isdigit_l); | |
__exctype_l (islower_l); | |
__exctype_l (isgraph_l); | |
__exctype_l (isprint_l); | |
__exctype_l (ispunct_l); | |
__exctype_l (isspace_l); | |
__exctype_l (isupper_l); | |
__exctype_l (isxdigit_l); | |
__exctype_l (isblank_l); | |
/* Return the lowercase version of C in locale L. */ | |
extern int __tolower_l (int __c, locale_t __l) __THROW; | |
extern int tolower_l (int __c, locale_t __l) __THROW; | |
/* Return the uppercase version of C. */ | |
extern int __toupper_l (int __c, locale_t __l) __THROW; | |
extern int toupper_l (int __c, locale_t __l) __THROW; | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 275 "/usr/include/ctype.h" 3 4 | |
# define __tolower_l(c, locale) \ | |
__tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale)) | |
# define __toupper_l(c, locale) \ | |
__tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale)) | |
# define tolower_l(c, locale) __tolower_l ((c), (locale)) | |
# define toupper_l(c, locale) __toupper_l ((c), (locale)) | |
# endif /* Optimizing gcc */ | |
# 282 "/usr/include/ctype.h" 3 4 | |
# ifndef __NO_CTYPE | |
# define __isalnum_l(c,l) __isctype_l((c), _ISalnum, (l)) | |
# define __isalpha_l(c,l) __isctype_l((c), _ISalpha, (l)) | |
# define __iscntrl_l(c,l) __isctype_l((c), _IScntrl, (l)) | |
# define __isdigit_l(c,l) __isctype_l((c), _ISdigit, (l)) | |
# define __islower_l(c,l) __isctype_l((c), _ISlower, (l)) | |
# define __isgraph_l(c,l) __isctype_l((c), _ISgraph, (l)) | |
# define __isprint_l(c,l) __isctype_l((c), _ISprint, (l)) | |
# define __ispunct_l(c,l) __isctype_l((c), _ISpunct, (l)) | |
# define __isspace_l(c,l) __isctype_l((c), _ISspace, (l)) | |
# define __isupper_l(c,l) __isctype_l((c), _ISupper, (l)) | |
# define __isxdigit_l(c,l) __isctype_l((c), _ISxdigit, (l)) | |
# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l)) | |
# ifdef __USE_MISC | |
# define __isascii_l(c,l) ((l), __isascii (c)) | |
# define __toascii_l(c,l) ((l), __toascii (c)) | |
# endif | |
# 303 "/usr/include/ctype.h" 3 4 | |
# define isalnum_l(c,l) __isalnum_l ((c), (l)) | |
# define isalpha_l(c,l) __isalpha_l ((c), (l)) | |
# define iscntrl_l(c,l) __iscntrl_l ((c), (l)) | |
# define isdigit_l(c,l) __isdigit_l ((c), (l)) | |
# define islower_l(c,l) __islower_l ((c), (l)) | |
# define isgraph_l(c,l) __isgraph_l ((c), (l)) | |
# define isprint_l(c,l) __isprint_l ((c), (l)) | |
# define ispunct_l(c,l) __ispunct_l ((c), (l)) | |
# define isspace_l(c,l) __isspace_l ((c), (l)) | |
# define isupper_l(c,l) __isupper_l ((c), (l)) | |
# define isxdigit_l(c,l) __isxdigit_l ((c), (l)) | |
# define isblank_l(c,l) __isblank_l ((c), (l)) | |
# ifdef __USE_MISC | |
# define isascii_l(c,l) __isascii_l ((c), (l)) | |
# define toascii_l(c,l) __toascii_l ((c), (l)) | |
# endif | |
# 322 "/usr/include/ctype.h" 3 4 | |
# endif /* Not __NO_CTYPE. */ | |
# 324 "/usr/include/ctype.h" 3 4 | |
#endif /* Use POSIX 2008. */ | |
# 326 "/usr/include/ctype.h" 3 4 | |
__END_DECLS | |
#endif /* ctype.h */ | |
# 330 "/usr/include/ctype.h" 3 4 | |
#endif /* ctype.h expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 2 3 | |
#ifndef _GLIBCXX_CCTYPE | |
#define _GLIBCXX_CCTYPE 1 | |
// Get rid of those macros defined in <ctype.h> in lieu of real functions. | |
#undef isalnum | |
#undef isalpha | |
#undef iscntrl | |
#undef isdigit | |
#undef isgraph | |
#undef islower | |
#undef isprint | |
#undef ispunct | |
#undef isspace | |
#undef isupper | |
#undef isxdigit | |
#undef tolower | |
#undef toupper | |
namespace std | |
{ | |
using ::isalnum; | |
using ::isalpha; | |
using ::iscntrl; | |
using ::isdigit; | |
using ::isgraph; | |
using ::islower; | |
using ::isprint; | |
using ::ispunct; | |
using ::isspace; | |
using ::isupper; | |
using ::isxdigit; | |
using ::tolower; | |
using ::toupper; | |
} // namespace std | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 80 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#ifdef _GLIBCXX_USE_C99_CTYPE_TR1 | |
#undef isblank | |
namespace std | |
{ | |
using ::isblank; | |
} // namespace std | |
#endif // _GLIBCXX_USE_C99_CTYPE_TR1 | |
# 91 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#endif // C++11 | |
# 93 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#endif | |
# 95 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/cctype" 3 | |
#endif /* cctype expanded by -frewrite-includes */ | |
# 43 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 2 3 | |
namespace std _GLIBCXX_VISIBILITY(default) | |
{ | |
_GLIBCXX_BEGIN_NAMESPACE_VERSION | |
/** | |
* @defgroup locales Locales | |
* | |
* Classes and functions for internationalization and localization. | |
*/ | |
// 22.1.1 Locale | |
class locale; | |
template<typename _Facet> | |
bool | |
has_facet(const locale&) throw(); | |
template<typename _Facet> | |
const _Facet& | |
use_facet(const locale&); | |
// 22.1.3 Convenience interfaces | |
template<typename _CharT> | |
bool | |
isspace(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isprint(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
iscntrl(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isupper(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
islower(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isalpha(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isdigit(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
ispunct(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isxdigit(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isalnum(_CharT, const locale&); | |
template<typename _CharT> | |
bool | |
isgraph(_CharT, const locale&); | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 111 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
template<typename _CharT> | |
bool | |
isblank(_CharT, const locale&); | |
#endif | |
# 115 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
template<typename _CharT> | |
_CharT | |
toupper(_CharT, const locale&); | |
template<typename _CharT> | |
_CharT | |
tolower(_CharT, const locale&); | |
// 22.2.1 and 22.2.1.3 ctype | |
struct ctype_base; | |
template<typename _CharT> | |
class ctype; | |
template<> class ctype<char>; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
template<> class ctype<wchar_t>; | |
#endif | |
# 132 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
template<typename _CharT> | |
class ctype_byname; | |
// NB: Specialized for char and wchar_t in locale_facets.h. | |
class codecvt_base; | |
template<typename _InternT, typename _ExternT, typename _StateT> | |
class codecvt; | |
template<> class codecvt<char, char, mbstate_t>; | |
#ifdef _GLIBCXX_USE_WCHAR_T | |
template<> class codecvt<wchar_t, char, mbstate_t>; | |
#endif | |
# 143 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __cplusplus >= 201103L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 144 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
template<> class codecvt<char16_t, char, mbstate_t>; | |
template<> class codecvt<char32_t, char, mbstate_t>; | |
#ifdef _GLIBCXX_USE_CHAR8_T | |
template<> class codecvt<char16_t, char8_t, mbstate_t>; | |
template<> class codecvt<char32_t, char8_t, mbstate_t>; | |
#endif | |
# 150 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#endif | |
# 151 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
template<typename _InternT, typename _ExternT, typename _StateT> | |
class codecvt_byname; | |
// 22.2.2 and 22.2.3 numeric | |
_GLIBCXX_BEGIN_NAMESPACE_LDBL | |
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
class num_get; | |
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
class num_put; | |
_GLIBCXX_END_NAMESPACE_LDBL | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT> class numpunct; | |
template<typename _CharT> class numpunct_byname; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
// 22.2.4 collation | |
template<typename _CharT> | |
class collate; | |
template<typename _CharT> | |
class collate_byname; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
// 22.2.5 date and time | |
class time_base; | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
class time_get; | |
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
class time_get_byname; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
class time_put; | |
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
class time_put_byname; | |
// 22.2.6 money | |
class money_base; | |
_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 | |
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | |
class money_get; | |
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | |
class money_put; | |
_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT, bool _Intl = false> | |
class moneypunct; | |
template<typename _CharT, bool _Intl = false> | |
class moneypunct_byname; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
// 22.2.7 message retrieval | |
struct messages_base; | |
_GLIBCXX_BEGIN_NAMESPACE_CXX11 | |
template<typename _CharT> | |
class messages; | |
template<typename _CharT> | |
class messages_byname; | |
_GLIBCXX_END_NAMESPACE_CXX11 | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace std | |
#endif | |
# 215 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/localefwd.h" 3 | |
#endif /* localefwd.h expanded by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 2 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* ios_base.h expanded by -frewrite-includes */ | |
#include <bits/ios_base.h> // For ios_base declarations. | |
#else /* ios_base.h expanded by -frewrite-includes */ | |
# 44 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ios" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/ios_base.h" 1 3 | |
// Iostreams base classes -*- C++ -*- | |
// Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file bits/ios_base.h | |
* This is an internal header file, included by other library headers. | |
* Do not attempt to use it directly. @headername{ios} | |
*/ | |
// | |
// ISO C++ 14882: 27.4 Iostreams base classes | |
// | |
#ifndef _IOS_BASE_H | |
#define _IOS_BASE_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/ios_base.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* atomicity.h expanded by -frewrite-includes */ | |
#include <ext/atomicity.h> | |
#else /* atomicity.h expanded by -frewrite-includes */ | |
# 39 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/ios_base.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ext/atomicity.h" 1 3 | |
// Support for atomic operations -*- C++ -*- | |
// Copyright (C) 2004-2023 Free Software Foundation, Inc. | |
// | |
// This file is part of the GNU ISO C++ Library. This library is free | |
// software; you can redistribute it and/or modify it under the | |
// terms of the GNU General Public License as published by the | |
// Free Software Foundation; either version 3, or (at your option) | |
// any later version. | |
// This library is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// GNU General Public License for more details. | |
// Under Section 7 of GPL version 3, you are granted additional | |
// permissions described in the GCC Runtime Library Exception, version | |
// 3.1, as published by the Free Software Foundation. | |
// You should have received a copy of the GNU General Public License and | |
// a copy of the GCC Runtime Library Exception along with this program; | |
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
// <http://www.gnu.org/licenses/>. | |
/** @file ext/atomicity.h | |
* This file is a GNU extension to the Standard C++ Library. | |
*/ | |
#ifndef _GLIBCXX_ATOMICITY_H | |
#define _GLIBCXX_ATOMICITY_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#pragma GCC system_header | |
#endif /* expanded by -frewrite-includes */ | |
# 33 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ext/atomicity.h" 3 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/c++config.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ext/atomicity.h" 3 | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ext/atomicity.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* gthr.h expanded by -frewrite-includes */ | |
#include <bits/gthr.h> | |
#else /* gthr.h expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/ext/atomicity.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 1 3 | |
/* Threads compatibility routines for libgcc2. */ | |
/* Compile this one with gcc. */ | |
/* Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
This file is part of GCC. | |
GCC is free software; you can redistribute it and/or modify it under | |
the terms of the GNU General Public License as published by the Free | |
Software Foundation; either version 3, or (at your option) any later | |
version. | |
GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
for more details. | |
Under Section 7 of GPL version 3, you are granted additional | |
permissions described in the GCC Runtime Library Exception, version | |
3.1, as published by the Free Software Foundation. | |
You should have received a copy of the GNU General Public License and | |
a copy of the GCC Runtime Library Exception along with this program; | |
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
<http://www.gnu.org/licenses/>. */ | |
#ifndef _GLIBCXX_GCC_GTHR_H | |
#define _GLIBCXX_GCC_GTHR_H | |
#ifndef _GLIBCXX_HIDE_EXPORTS | |
#pragma GCC visibility push(default) | |
#endif | |
# 32 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
/* If this file is compiled with threads support, it must | |
#define __GTHREADS 1 | |
to indicate that threads support is present. Also it has define | |
function | |
int __gthread_active_p () | |
that returns 1 if thread system is active, 0 if not. | |
The threads interface must define the following types: | |
__gthread_key_t | |
__gthread_once_t | |
__gthread_mutex_t | |
__gthread_recursive_mutex_t | |
The threads interface must define the following macros: | |
__GTHREAD_ONCE_INIT | |
to initialize __gthread_once_t | |
__GTHREAD_MUTEX_INIT | |
to initialize __gthread_mutex_t to get a fast | |
non-recursive mutex. | |
__GTHREAD_MUTEX_INIT_FUNCTION | |
to initialize __gthread_mutex_t to get a fast | |
non-recursive mutex. | |
Define this to a function which looks like this: | |
void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) | |
Some systems can't initialize a mutex without a | |
function call. Don't define __GTHREAD_MUTEX_INIT in this case. | |
__GTHREAD_RECURSIVE_MUTEX_INIT | |
__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION | |
as above, but for a recursive mutex. | |
The threads interface must define the following static functions: | |
int __gthread_once (__gthread_once_t *once, void (*func) ()) | |
int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) | |
int __gthread_key_delete (__gthread_key_t key) | |
void *__gthread_getspecific (__gthread_key_t key) | |
int __gthread_setspecific (__gthread_key_t key, const void *ptr) | |
int __gthread_mutex_destroy (__gthread_mutex_t *mutex); | |
int __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *mutex); | |
int __gthread_mutex_lock (__gthread_mutex_t *mutex); | |
int __gthread_mutex_trylock (__gthread_mutex_t *mutex); | |
int __gthread_mutex_unlock (__gthread_mutex_t *mutex); | |
int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); | |
int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); | |
int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); | |
The following are supported in POSIX threads only. They are required to | |
fix a deadlock in static initialization inside libsupc++. The header file | |
gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra | |
features are supported. | |
Types: | |
__gthread_cond_t | |
Macros: | |
__GTHREAD_COND_INIT | |
__GTHREAD_COND_INIT_FUNCTION | |
Interface: | |
int __gthread_cond_broadcast (__gthread_cond_t *cond); | |
int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); | |
int __gthread_cond_wait_recursive (__gthread_cond_t *cond, | |
__gthread_recursive_mutex_t *mutex); | |
All functions returning int should return zero on success or the error | |
number. If the operation is not supported, -1 is returned. | |
If the following are also defined, you should | |
#define __GTHREADS_CXX0X 1 | |
to enable the c++0x thread library. | |
Types: | |
__gthread_t | |
__gthread_time_t | |
Interface: | |
int __gthread_create (__gthread_t *thread, void *(*func) (void*), | |
void *args); | |
int __gthread_join (__gthread_t thread, void **value_ptr); | |
int __gthread_detach (__gthread_t thread); | |
int __gthread_equal (__gthread_t t1, __gthread_t t2); | |
__gthread_t __gthread_self (void); | |
int __gthread_yield (void); | |
int __gthread_mutex_timedlock (__gthread_mutex_t *m, | |
const __gthread_time_t *abs_timeout); | |
int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, | |
const __gthread_time_t *abs_time); | |
int __gthread_cond_signal (__gthread_cond_t *cond); | |
int __gthread_cond_timedwait (__gthread_cond_t *cond, | |
__gthread_mutex_t *mutex, | |
const __gthread_time_t *abs_timeout); | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GXX_WEAK__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 136 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
/* The pe-coff weak support isn't fully compatible to ELF's weak. | |
For static libraries it might would work, but as we need to deal | |
with shared versions too, we disable it for mingw-targets. */ | |
#ifdef __MINGW32__ | |
#undef _GLIBCXX_GTHREAD_USE_WEAK | |
#define _GLIBCXX_GTHREAD_USE_WEAK 0 | |
#endif | |
# 143 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
#ifndef _GLIBCXX_GTHREAD_USE_WEAK | |
#define _GLIBCXX_GTHREAD_USE_WEAK 1 | |
#endif | |
# 147 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
#endif | |
# 148 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* gthr-default.h expanded by -frewrite-includes */ | |
#include <bits/gthr-default.h> | |
#else /* gthr-default.h expanded by -frewrite-includes */ | |
# 148 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr.h" 3 | |
# 1 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr-default.h" 1 3 | |
/* Threads compatibility routines for libgcc2 and libobjc. */ | |
/* Compile this one with gcc. */ | |
/* Copyright (C) 1997-2023 Free Software Foundation, Inc. | |
This file is part of GCC. | |
GCC is free software; you can redistribute it and/or modify it under | |
the terms of the GNU General Public License as published by the Free | |
Software Foundation; either version 3, or (at your option) any later | |
version. | |
GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
for more details. | |
Under Section 7 of GPL version 3, you are granted additional | |
permissions described in the GCC Runtime Library Exception, version | |
3.1, as published by the Free Software Foundation. | |
You should have received a copy of the GNU General Public License and | |
a copy of the GCC Runtime Library Exception along with this program; | |
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
<http://www.gnu.org/licenses/>. */ | |
#ifndef _GLIBCXX_GCC_GTHR_POSIX_H | |
#define _GLIBCXX_GCC_GTHR_POSIX_H | |
/* POSIX threads specific definitions. | |
Easy, since the interface is just one-to-one mapping. */ | |
#define __GTHREADS 1 | |
#define __GTHREADS_CXX0X 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* pthread.h expanded by -frewrite-includes */ | |
#include <pthread.h> | |
#else /* pthread.h expanded by -frewrite-includes */ | |
# 35 "/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/gthr-default.h" 3 | |
# 1 "/usr/include/pthread.h" 1 3 4 | |
/* Copyright (C) 2002-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _PTHREAD_H | |
#define _PTHREAD_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 21 "/usr/include/pthread.h" 3 4 | |
# 22 "/usr/include/pthread.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* sched.h expanded by -frewrite-includes */ | |
#include <sched.h> | |
#else /* sched.h expanded by -frewrite-includes */ | |
# 22 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/sched.h" 1 3 4 | |
/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. | |
Copyright (C) 1996-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _SCHED_H | |
#define _SCHED_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 22 "/usr/include/sched.h" 3 4 | |
# 23 "/usr/include/sched.h" 3 4 | |
/* Get type definitions. */ | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 25 "/usr/include/sched.h" 3 4 | |
# 26 "/usr/include/sched.h" 3 4 | |
#define __need_size_t | |
#define __need_NULL | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stddef.h expanded by -frewrite-includes */ | |
#include <stddef.h> | |
#else /* stddef.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/sched.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 1 3 4 | |
/*===---- stddef.h - Basic type definitions --------------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stddef.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stddef.h | |
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stddef.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *` | |
* wouldn't export any stddef interfaces as expected. However, since stddef.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDDEF_H) || __has_feature(modules) || \ | |
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \ | |
defined(__need_ptrdiff_t) || defined(__need_size_t) || \ | |
defined(__need_rsize_t) || defined(__need_wchar_t) || \ | |
defined(__need_NULL) || defined(__need_nullptr_t) || \ | |
defined(__need_unreachable) || defined(__need_max_align_t) || \ | |
defined(__need_offsetof) || defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | |
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | |
!defined(__need_NULL) && !defined(__need_nullptr_t) && \ | |
!defined(__need_unreachable) && !defined(__need_max_align_t) && \ | |
!defined(__need_offsetof) && !defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __STDDEF_H | |
#define __need_ptrdiff_t | |
#define __need_size_t | |
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | |
* enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_rsize_t | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_wchar_t | |
#define __need_NULL | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | |
defined(__cplusplus) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_nullptr_t | |
#endif | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 59 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_unreachable | |
#endif | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_max_align_t | |
#endif | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_offsetof | |
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | |
* for compatibility, but must be explicitly requested. Therefore | |
* __need_wint_t is intentionally not defined here. */ | |
#endif | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_ptrdiff_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_ptrdiff_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_ptrdiff_t | |
#endif /* defined(__need_ptrdiff_t) */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_size_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_size_t.h expanded by -frewrite-includes */ | |
#include <__stddef_size_t.h> | |
#else /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 1 3 4 | |
/*===---- __stddef_size_t.h - Definition of size_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_SIZE_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#define _SIZE_T | |
typedef __SIZE_TYPE__ size_t; | |
#endif | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#endif /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_size_t | |
#endif /*defined(__need_size_t) */ | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_rsize_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_rsize_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 83 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_rsize_t | |
#endif /* defined(__need_rsize_t) */ | |
# 85 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wchar_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wchar_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 88 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wchar_t | |
#endif /* defined(__need_wchar_t) */ | |
# 90 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_NULL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_null.h expanded by -frewrite-includes */ | |
#include <__stddef_null.h> | |
#else /* __stddef_null.h expanded by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 1 3 4 | |
/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(NULL) || !__building_module(_Builtin_stddef) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | |
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | |
* Modules don't support redefining macros like that, but support that pattern | |
* in the non-modules case. | |
*/ | |
#undef NULL | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__MINGW32__) && !defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL __null | |
#else | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL 0 | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#else | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL ((void*)0) | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif /* __stddef_null.h expanded by -frewrite-includes */ | |
# 93 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_NULL | |
#endif /* defined(__need_NULL) */ | |
# 95 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_nullptr_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_nullptr_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 98 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_nullptr_t | |
#endif /* defined(__need_nullptr_t) */ | |
# 100 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_unreachable) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_unreachable.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 103 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_unreachable | |
#endif /* defined(__need_unreachable) */ | |
# 105 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_max_align_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_max_align_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 108 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_max_align_t | |
#endif /* defined(__need_max_align_t) */ | |
# 110 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_offsetof) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_offsetof.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 113 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_offsetof | |
#endif /* defined(__need_offsetof) */ | |
# 115 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | |
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wint_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 120 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wint_t | |
#endif /* __need_wint_t */ | |
# 122 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif | |
# 124 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif /* stddef.h expanded by -frewrite-includes */ | |
# 30 "/usr/include/sched.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* time_t.h expanded by -frewrite-includes */ | |
#include <bits/types/time_t.h> | |
#else /* time_t.h expanded by -frewrite-includes */ | |
# 31 "/usr/include/sched.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 | |
#ifndef __time_t_defined | |
#define __time_t_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 | |
/* Returned by `time'. */ | |
#ifdef __USE_TIME_BITS64 | |
typedef __time64_t time_t; | |
#else | |
# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 | |
typedef __time_t time_t; | |
#endif | |
# 12 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 | |
#endif | |
# 14 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 | |
#endif /* time_t.h expanded by -frewrite-includes */ | |
# 32 "/usr/include/sched.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_timespec.h expanded by -frewrite-includes */ | |
#include <bits/types/struct_timespec.h> | |
#else /* struct_timespec.h expanded by -frewrite-includes */ | |
# 32 "/usr/include/sched.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 | |
/* NB: Include guard matches what <linux/time.h> uses. */ | |
#ifndef _STRUCT_TIMESPEC | |
#define _STRUCT_TIMESPEC 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
# 6 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/endian.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 6 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
# 7 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types/time_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 7 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
# 8 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
/* POSIX.1b structure for a time value. This is like a `struct timeval' but | |
has nanoseconds instead of microseconds. */ | |
struct timespec | |
{ | |
#ifdef __USE_TIME_BITS64 | |
__time64_t tv_sec; /* Seconds. */ | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
__time_t tv_sec; /* Seconds. */ | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __WORDSIZE == 64 \ | |
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ | |
|| (__TIMESIZE == 32 && !defined __USE_TIME_BITS64) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
__syscall_slong_t tv_nsec; /* Nanoseconds. */ | |
#else | |
# 23 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __BYTE_ORDER == __BIG_ENDIAN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 24 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
int: 32; /* Padding. */ | |
long int tv_nsec; /* Nanoseconds. */ | |
# else | |
# 27 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
long int tv_nsec; /* Nanoseconds. */ | |
int: 32; /* Padding. */ | |
# endif | |
# 30 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#endif | |
# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
}; | |
#endif | |
# 34 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 | |
#endif /* struct_timespec.h expanded by -frewrite-includes */ | |
# 33 "/usr/include/sched.h" 2 3 4 | |
#ifndef __USE_XOPEN2K | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <time.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 34 "/usr/include/sched.h" 3 4 | |
# 35 "/usr/include/sched.h" 3 4 | |
#endif | |
# 36 "/usr/include/sched.h" 3 4 | |
#ifndef __pid_t_defined | |
typedef __pid_t pid_t; | |
# define __pid_t_defined | |
#endif | |
# 41 "/usr/include/sched.h" 3 4 | |
/* Get system specific constant and data structure definitions. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* sched.h expanded by -frewrite-includes */ | |
#include <bits/sched.h> | |
#else /* sched.h expanded by -frewrite-includes */ | |
# 43 "/usr/include/sched.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/sched.h" 1 3 4 | |
/* Definitions of constants and data structure for POSIX 1003.1b-1993 | |
scheduling interface. | |
Copyright (C) 1996-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_SCHED_H | |
#define _BITS_SCHED_H 1 | |
#ifndef _SCHED_H | |
# error "Never include <bits/sched.h> directly; use <sched.h> instead." | |
#endif | |
# 26 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
/* Scheduling algorithms. */ | |
#define SCHED_OTHER 0 | |
#define SCHED_FIFO 1 | |
#define SCHED_RR 2 | |
#ifdef __USE_GNU | |
# define SCHED_BATCH 3 | |
# define SCHED_ISO 4 | |
# define SCHED_IDLE 5 | |
# define SCHED_DEADLINE 6 | |
# define SCHED_RESET_ON_FORK 0x40000000 | |
#endif | |
# 39 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
#ifdef __USE_GNU | |
/* Cloning flags. */ | |
# define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */ | |
# define CLONE_VM 0x00000100 /* Set if VM shared between processes. */ | |
# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */ | |
# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */ | |
# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */ | |
# define CLONE_PIDFD 0x00001000 /* Set if a pidfd should be placed | |
in parent. */ | |
# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */ | |
# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to | |
wake it up on mm_release. */ | |
# define CLONE_PARENT 0x00008000 /* Set if we want to have the same | |
parent as the cloner. */ | |
# define CLONE_THREAD 0x00010000 /* Set to add to same thread group. */ | |
# define CLONE_NEWNS 0x00020000 /* Set to create new namespace. */ | |
# define CLONE_SYSVSEM 0x00040000 /* Set to shared SVID SEM_UNDO semantics. */ | |
# define CLONE_SETTLS 0x00080000 /* Set TLS info. */ | |
# define CLONE_PARENT_SETTID 0x00100000 /* Store TID in userlevel buffer | |
before MM copy. */ | |
# define CLONE_CHILD_CLEARTID 0x00200000 /* Register exit futex and memory | |
location to clear. */ | |
# define CLONE_DETACHED 0x00400000 /* Create clone detached. */ | |
# define CLONE_UNTRACED 0x00800000 /* Set if the tracing process can't | |
force CLONE_PTRACE on this clone. */ | |
# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in | |
the child. */ | |
# define CLONE_NEWCGROUP 0x02000000 /* New cgroup namespace. */ | |
# define CLONE_NEWUTS 0x04000000 /* New utsname group. */ | |
# define CLONE_NEWIPC 0x08000000 /* New ipcs. */ | |
# define CLONE_NEWUSER 0x10000000 /* New user namespace. */ | |
# define CLONE_NEWPID 0x20000000 /* New pid namespace. */ | |
# define CLONE_NEWNET 0x40000000 /* New network namespace. */ | |
# define CLONE_IO 0x80000000 /* Clone I/O context. */ | |
/* cloning flags intersect with CSIGNAL so can be used only with unshare and | |
clone3 syscalls. */ | |
#define CLONE_NEWTIME 0x00000080 /* New time namespace */ | |
#endif | |
# 79 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_sched_param.h expanded by -frewrite-includes */ | |
#include <bits/types/struct_sched_param.h> | |
#else /* struct_sched_param.h expanded by -frewrite-includes */ | |
# 80 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h" 1 3 4 | |
/* Sched parameter structure. Generic version. | |
Copyright (C) 1996-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM | |
#define _BITS_TYPES_STRUCT_SCHED_PARAM 1 | |
/* Data structure to describe a process' schedulability. */ | |
struct sched_param | |
{ | |
int sched_priority; | |
}; | |
#endif /* bits/types/struct_sched_param.h */ | |
# 29 "/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h" 3 4 | |
#endif /* struct_sched_param.h expanded by -frewrite-includes */ | |
# 81 "/usr/include/x86_64-linux-gnu/bits/sched.h" 2 3 4 | |
__BEGIN_DECLS | |
#ifdef __USE_GNU | |
/* Clone current process. */ | |
extern int clone (int (*__fn) (void *__arg), void *__child_stack, | |
int __flags, void *__arg, ...) __THROW; | |
/* Unshare the specified resources. */ | |
extern int unshare (int __flags) __THROW; | |
/* Get index of currently used CPU. */ | |
extern int sched_getcpu (void) __THROW; | |
/* Get currently used CPU and NUMA node. */ | |
extern int getcpu (unsigned int *, unsigned int *) __THROW; | |
/* Switch process to namespace of type NSTYPE indicated by FD. */ | |
extern int setns (int __fd, int __nstype) __THROW; | |
#endif | |
# 101 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
__END_DECLS | |
#endif /* bits/sched.h */ | |
# 105 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 | |
#endif /* sched.h expanded by -frewrite-includes */ | |
# 44 "/usr/include/sched.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* cpu-set.h expanded by -frewrite-includes */ | |
#include <bits/cpu-set.h> | |
#else /* cpu-set.h expanded by -frewrite-includes */ | |
# 44 "/usr/include/sched.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 1 3 4 | |
/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993 | |
scheduling interface. | |
Copyright (C) 1996-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_CPU_SET_H | |
#define _BITS_CPU_SET_H 1 | |
#ifndef _SCHED_H | |
# error "Never include <bits/cpu-set.h> directly; use <sched.h> instead." | |
#endif | |
# 26 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
/* Size definition for CPU sets. */ | |
#define __CPU_SETSIZE 1024 | |
#define __NCPUBITS (8 * sizeof (__cpu_mask)) | |
/* Type for array elements in 'cpu_set_t'. */ | |
typedef __CPU_MASK_TYPE __cpu_mask; | |
/* Basic access functions. */ | |
#define __CPUELT(cpu) ((cpu) / __NCPUBITS) | |
#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) | |
/* Data structure to describe CPU mask. */ | |
typedef struct | |
{ | |
__cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS]; | |
} cpu_set_t; | |
/* Access functions for CPU masks. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2, 91) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 46 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
# define __CPU_ZERO_S(setsize, cpusetp) \ | |
do __builtin_memset (cpusetp, '\0', setsize); while (0) | |
#else | |
# 49 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
# define __CPU_ZERO_S(setsize, cpusetp) \ | |
do { \ | |
size_t __i; \ | |
size_t __imax = (setsize) / sizeof (__cpu_mask); \ | |
__cpu_mask *__bits = (cpusetp)->__bits; \ | |
for (__i = 0; __i < __imax; ++__i) \ | |
__bits[__i] = 0; \ | |
} while (0) | |
#endif | |
# 58 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
#define __CPU_SET_S(cpu, setsize, cpusetp) \ | |
(__extension__ \ | |
({ size_t __cpu = (cpu); \ | |
__cpu / 8 < (setsize) \ | |
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ | |
|= __CPUMASK (__cpu)) \ | |
: 0; })) | |
#define __CPU_CLR_S(cpu, setsize, cpusetp) \ | |
(__extension__ \ | |
({ size_t __cpu = (cpu); \ | |
__cpu / 8 < (setsize) \ | |
? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ | |
&= ~__CPUMASK (__cpu)) \ | |
: 0; })) | |
#define __CPU_ISSET_S(cpu, setsize, cpusetp) \ | |
(__extension__ \ | |
({ size_t __cpu = (cpu); \ | |
__cpu / 8 < (setsize) \ | |
? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ | |
& __CPUMASK (__cpu))) != 0 \ | |
: 0; })) | |
#define __CPU_COUNT_S(setsize, cpusetp) \ | |
__sched_cpucount (setsize, cpusetp) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GNUC_PREREQ (2, 91) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 84 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ | |
(__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0) | |
#else | |
# 87 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ | |
(__extension__ \ | |
({ const __cpu_mask *__arr1 = (cpusetp1)->__bits; \ | |
const __cpu_mask *__arr2 = (cpusetp2)->__bits; \ | |
size_t __imax = (setsize) / sizeof (__cpu_mask); \ | |
size_t __i; \ | |
for (__i = 0; __i < __imax; ++__i) \ | |
if (__arr1[__i] != __arr2[__i]) \ | |
break; \ | |
__i == __imax; })) | |
#endif | |
# 98 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
#define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \ | |
(__extension__ \ | |
({ cpu_set_t *__dest = (destset); \ | |
const __cpu_mask *__arr1 = (srcset1)->__bits; \ | |
const __cpu_mask *__arr2 = (srcset2)->__bits; \ | |
size_t __imax = (setsize) / sizeof (__cpu_mask); \ | |
size_t __i; \ | |
for (__i = 0; __i < __imax; ++__i) \ | |
((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \ | |
__dest; })) | |
#define __CPU_ALLOC_SIZE(count) \ | |
((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask)) | |
#define __CPU_ALLOC(count) __sched_cpualloc (count) | |
#define __CPU_FREE(cpuset) __sched_cpufree (cpuset) | |
__BEGIN_DECLS | |
extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) | |
__THROW; | |
extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur; | |
extern void __sched_cpufree (cpu_set_t *__set) __THROW; | |
__END_DECLS | |
#endif /* bits/cpu-set.h */ | |
# 125 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4 | |
#endif /* cpu-set.h expanded by -frewrite-includes */ | |
# 45 "/usr/include/sched.h" 2 3 4 | |
/* Backward compatibility. */ | |
#define sched_priority sched_priority | |
#define __sched_priority sched_priority | |
__BEGIN_DECLS | |
/* Set scheduling parameters for a process. */ | |
extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) | |
__THROW; | |
/* Retrieve scheduling parameters for a particular process. */ | |
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __THROW; | |
/* Set scheduling algorithm and/or parameters for a process. */ | |
extern int sched_setscheduler (__pid_t __pid, int __policy, | |
const struct sched_param *__param) __THROW; | |
/* Retrieve scheduling algorithm for a particular purpose. */ | |
extern int sched_getscheduler (__pid_t __pid) __THROW; | |
/* Yield the processor. */ | |
extern int sched_yield (void) __THROW; | |
/* Get maximum priority value for a scheduler. */ | |
extern int sched_get_priority_max (int __algorithm) __THROW; | |
/* Get minimum priority value for a scheduler. */ | |
extern int sched_get_priority_min (int __algorithm) __THROW; | |
/* Get the SCHED_RR interval for the named process. */ | |
#ifndef __USE_TIME_BITS64 | |
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW; | |
#else | |
# 80 "/usr/include/sched.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern int __REDIRECT_NTH (sched_rr_get_interval, | |
(__pid_t __pid, struct timespec *__t), | |
__sched_rr_get_interval64); | |
# else | |
# 85 "/usr/include/sched.h" 3 4 | |
# define sched_rr_get_interval __sched_rr_get_interval64 | |
# endif | |
# 87 "/usr/include/sched.h" 3 4 | |
#endif | |
# 88 "/usr/include/sched.h" 3 4 | |
#ifdef __USE_GNU | |
/* Access macros for `cpu_set'. */ | |
# define CPU_SETSIZE __CPU_SETSIZE | |
# define CPU_SET(cpu, cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp) | |
# define CPU_CLR(cpu, cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp) | |
# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), \ | |
cpusetp) | |
# define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp) | |
# define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp) | |
# define CPU_SET_S(cpu, setsize, cpusetp) __CPU_SET_S (cpu, setsize, cpusetp) | |
# define CPU_CLR_S(cpu, setsize, cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp) | |
# define CPU_ISSET_S(cpu, setsize, cpusetp) __CPU_ISSET_S (cpu, setsize, \ | |
cpusetp) | |
# define CPU_ZERO_S(setsize, cpusetp) __CPU_ZERO_S (setsize, cpusetp) | |
# define CPU_COUNT_S(setsize, cpusetp) __CPU_COUNT_S (setsize, cpusetp) | |
# define CPU_EQUAL(cpusetp1, cpusetp2) \ | |
__CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2) | |
# define CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ | |
__CPU_EQUAL_S (setsize, cpusetp1, cpusetp2) | |
# define CPU_AND(destset, srcset1, srcset2) \ | |
__CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &) | |
# define CPU_OR(destset, srcset1, srcset2) \ | |
__CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |) | |
# define CPU_XOR(destset, srcset1, srcset2) \ | |
__CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^) | |
# define CPU_AND_S(setsize, destset, srcset1, srcset2) \ | |
__CPU_OP_S (setsize, destset, srcset1, srcset2, &) | |
# define CPU_OR_S(setsize, destset, srcset1, srcset2) \ | |
__CPU_OP_S (setsize, destset, srcset1, srcset2, |) | |
# define CPU_XOR_S(setsize, destset, srcset1, srcset2) \ | |
__CPU_OP_S (setsize, destset, srcset1, srcset2, ^) | |
# define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count) | |
# define CPU_ALLOC(count) __CPU_ALLOC (count) | |
# define CPU_FREE(cpuset) __CPU_FREE (cpuset) | |
/* Set the CPU affinity for a task */ | |
extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, | |
const cpu_set_t *__cpuset) __THROW; | |
/* Get the CPU affinity for a task */ | |
extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, | |
cpu_set_t *__cpuset) __THROW; | |
#endif | |
# 137 "/usr/include/sched.h" 3 4 | |
__END_DECLS | |
#endif /* sched.h */ | |
# 141 "/usr/include/sched.h" 3 4 | |
#endif /* sched.h expanded by -frewrite-includes */ | |
# 23 "/usr/include/pthread.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* time.h expanded by -frewrite-includes */ | |
#include <time.h> | |
#else /* time.h expanded by -frewrite-includes */ | |
# 23 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/time.h" 1 3 4 | |
/* Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* ISO C99 Standard: 7.23 Date and time <time.h> | |
*/ | |
#ifndef _TIME_H | |
#define _TIME_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <features.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 25 "/usr/include/time.h" 3 4 | |
# 26 "/usr/include/time.h" 3 4 | |
#define __need_size_t | |
#define __need_NULL | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* stddef.h expanded by -frewrite-includes */ | |
#include <stddef.h> | |
#else /* stddef.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/time.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 1 3 4 | |
/*===---- stddef.h - Basic type definitions --------------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* This header is designed to be included multiple times. If any of the __need_ | |
* macros are defined, then only that subset of interfaces are provided. This | |
* can be useful for POSIX headers that need to not expose all of stddef.h, but | |
* need to use some of its interfaces. Otherwise this header provides all of | |
* the expected interfaces. | |
* | |
* When clang modules are enabled, this header is a textual header. It ignores | |
* its header guard so that multiple submodules can export its interfaces. | |
* Take module SM with submodules A and B, whose headers both include stddef.h | |
* When SM.A builds, __STDDEF_H will be defined. When SM.B builds, the | |
* definition from SM.A will leak when building without local submodule | |
* visibility. stddef.h wouldn't include any of its implementation headers, and | |
* SM.B wouldn't import any of the stddef modules, and SM.B's `export *` | |
* wouldn't export any stddef interfaces as expected. However, since stddef.h | |
* ignores its header guard when building with modules, it all works as | |
* expected. | |
* | |
* When clang modules are not enabled, the header guards can function in the | |
* normal simple fashion. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__STDDEF_H) || __has_feature(modules) || \ | |
(defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1) || \ | |
defined(__need_ptrdiff_t) || defined(__need_size_t) || \ | |
defined(__need_rsize_t) || defined(__need_wchar_t) || \ | |
defined(__need_NULL) || defined(__need_nullptr_t) || \ | |
defined(__need_unreachable) || defined(__need_max_align_t) || \ | |
defined(__need_offsetof) || defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | |
!defined(__need_rsize_t) && !defined(__need_wchar_t) && \ | |
!defined(__need_NULL) && !defined(__need_nullptr_t) && \ | |
!defined(__need_unreachable) && !defined(__need_max_align_t) && \ | |
!defined(__need_offsetof) && !defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 44 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __STDDEF_H | |
#define __need_ptrdiff_t | |
#define __need_size_t | |
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | |
* enabled. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 50 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_rsize_t | |
#endif | |
# 52 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_wchar_t | |
#define __need_NULL | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \ | |
defined(__cplusplus) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 56 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_nullptr_t | |
#endif | |
# 58 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 59 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_unreachable | |
#endif | |
# 61 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | |
(defined(__cplusplus) && __cplusplus >= 201103L) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 63 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_max_align_t | |
#endif | |
# 65 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#define __need_offsetof | |
/* wint_t is provided by <wchar.h> and not <stddef.h>. It's here | |
* for compatibility, but must be explicitly requested. Therefore | |
* __need_wint_t is intentionally not defined here. */ | |
#endif | |
# 70 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_ptrdiff_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_ptrdiff_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 72 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 73 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_ptrdiff_t | |
#endif /* defined(__need_ptrdiff_t) */ | |
# 75 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_size_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_size_t.h expanded by -frewrite-includes */ | |
#include <__stddef_size_t.h> | |
#else /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 77 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 1 3 4 | |
/*===---- __stddef_size_t.h - Definition of size_t -------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
/* | |
* When -fbuiltin-headers-in-system-modules is set this is a non-modular header | |
* and needs to behave as if it was textual. | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(_SIZE_T) || \ | |
(__has_feature(modules) && !__building_module(_Builtin_stddef)) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 16 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#define _SIZE_T | |
typedef __SIZE_TYPE__ size_t; | |
#endif | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_size_t.h" 3 4 | |
#endif /* __stddef_size_t.h expanded by -frewrite-includes */ | |
# 78 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_size_t | |
#endif /*defined(__need_size_t) */ | |
# 80 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_rsize_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_rsize_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 82 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 83 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_rsize_t | |
#endif /* defined(__need_rsize_t) */ | |
# 85 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wchar_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wchar_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 87 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 88 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wchar_t | |
#endif /* defined(__need_wchar_t) */ | |
# 90 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_NULL) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __stddef_null.h expanded by -frewrite-includes */ | |
#include <__stddef_null.h> | |
#else /* __stddef_null.h expanded by -frewrite-includes */ | |
# 92 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 1 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 1 3 4 | |
/*===---- __stddef_null.h - Definition of NULL -----------------------------=== | |
* | |
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
* See https://llvm.org/LICENSE.txt for license information. | |
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
* | |
*===-----------------------------------------------------------------------=== | |
*/ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(NULL) || !__building_module(_Builtin_stddef) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 11 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
/* linux/stddef.h will define NULL to 0. glibc (and other) headers then define | |
* __need_NULL and rely on stddef.h to redefine NULL to the correct value again. | |
* Modules don't support redefining macros like that, but support that pattern | |
* in the non-modules case. | |
*/ | |
#undef NULL | |
#ifdef __cplusplus | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined(__MINGW32__) && !defined(_MSC_VER) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 21 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL __null | |
#else | |
# 23 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL 0 | |
#endif | |
# 25 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#else | |
# 26 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#define NULL ((void*)0) | |
#endif | |
# 28 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif | |
# 30 "/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h" 3 4 | |
#endif /* __stddef_null.h expanded by -frewrite-includes */ | |
# 93 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 2 3 4 | |
#undef __need_NULL | |
#endif /* defined(__need_NULL) */ | |
# 95 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_nullptr_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_nullptr_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 97 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 98 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_nullptr_t | |
#endif /* defined(__need_nullptr_t) */ | |
# 100 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_unreachable) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_unreachable.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 102 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 103 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_unreachable | |
#endif /* defined(__need_unreachable) */ | |
# 105 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_max_align_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_max_align_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 107 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 108 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_max_align_t | |
#endif /* defined(__need_max_align_t) */ | |
# 110 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_offsetof) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_offsetof.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 112 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 113 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_offsetof | |
#endif /* defined(__need_offsetof) */ | |
# 115 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | |
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined(__need_wint_t) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <__stddef_wint_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 119 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
# 120 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#undef __need_wint_t | |
#endif /* __need_wint_t */ | |
# 122 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif | |
# 124 "/usr/lib/llvm-18/lib/clang/18/include/stddef.h" 3 4 | |
#endif /* stddef.h expanded by -frewrite-includes */ | |
# 30 "/usr/include/time.h" 2 3 4 | |
/* This defines CLOCKS_PER_SEC, which is the number of processor clock | |
ticks per second, and possibly a number of other constants. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* time.h expanded by -frewrite-includes */ | |
#include <bits/time.h> | |
#else /* time.h expanded by -frewrite-includes */ | |
# 33 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 | |
/* System-dependent timing definitions. Linux version. | |
Copyright (C) 1996-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* | |
* Never include this file directly; use <time.h> instead. | |
*/ | |
#ifndef _BITS_TIME_H | |
#define _BITS_TIME_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 26 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
# 27 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
/* ISO/IEC 9899:1999 7.23.1: Components of time | |
The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is | |
the number per second of the value returned by the `clock' function. */ | |
/* CAE XSH, Issue 4, Version 2: <time.h> | |
The value of CLOCKS_PER_SEC is required to be 1 million on all | |
XSI-conformant systems. */ | |
#define CLOCKS_PER_SEC ((__clock_t) 1000000) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if (!defined __STRICT_ANSI__ || defined __USE_POSIX) \ | |
&& !defined __USE_XOPEN2K | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 38 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK | |
presents the real value for clock ticks per second for the system. */ | |
extern long int __sysconf (int); | |
# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */ | |
#endif | |
# 43 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
#ifdef __USE_POSIX199309 | |
/* Identifier for system-wide realtime clock. */ | |
# define CLOCK_REALTIME 0 | |
/* Monotonic system-wide clock. */ | |
# define CLOCK_MONOTONIC 1 | |
/* High-resolution timer from the CPU. */ | |
# define CLOCK_PROCESS_CPUTIME_ID 2 | |
/* Thread-specific CPU-time clock. */ | |
# define CLOCK_THREAD_CPUTIME_ID 3 | |
/* Monotonic system-wide clock, not adjusted for frequency scaling. */ | |
# define CLOCK_MONOTONIC_RAW 4 | |
/* Identifier for system-wide realtime clock, updated only on ticks. */ | |
# define CLOCK_REALTIME_COARSE 5 | |
/* Monotonic system-wide clock, updated only on ticks. */ | |
# define CLOCK_MONOTONIC_COARSE 6 | |
/* Monotonic system-wide clock that includes time spent in suspension. */ | |
# define CLOCK_BOOTTIME 7 | |
/* Like CLOCK_REALTIME but also wakes suspended system. */ | |
# define CLOCK_REALTIME_ALARM 8 | |
/* Like CLOCK_BOOTTIME but also wakes suspended system. */ | |
# define CLOCK_BOOTTIME_ALARM 9 | |
/* Like CLOCK_REALTIME but in International Atomic Time. */ | |
# define CLOCK_TAI 11 | |
/* Flag to indicate time is absolute. */ | |
# define TIMER_ABSTIME 1 | |
#endif | |
# 71 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
#ifdef __USE_GNU | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* timex.h expanded by -frewrite-includes */ | |
# include <bits/timex.h> | |
#else /* timex.h expanded by -frewrite-includes */ | |
# 73 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/timex.h" 1 3 4 | |
/* Copyright (C) 1995-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_TIMEX_H | |
#define _BITS_TIMEX_H 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 21 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
# 22 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_timeval.h expanded by -frewrite-includes */ | |
#include <bits/types/struct_timeval.h> | |
#else /* struct_timeval.h expanded by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 | |
#ifndef __timeval_defined | |
#define __timeval_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3 4 | |
/* A time value that is accurate to the nearest | |
microsecond but also has a range of years. */ | |
struct timeval | |
{ | |
#ifdef __USE_TIME_BITS64 | |
__time64_t tv_sec; /* Seconds. */ | |
__suseconds64_t tv_usec; /* Microseconds. */ | |
#else | |
# 14 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3 4 | |
__time_t tv_sec; /* Seconds. */ | |
__suseconds_t tv_usec; /* Microseconds. */ | |
#endif | |
# 17 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3 4 | |
}; | |
#endif | |
# 19 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3 4 | |
#endif /* struct_timeval.h expanded by -frewrite-includes */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/timex.h" 2 3 4 | |
/* These definitions from linux/timex.h as of 3.18. */ | |
struct timex | |
{ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 29 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
unsigned int modes; /* mode selector */ | |
int :32; /* pad */ | |
long long offset; /* time offset (usec) */ | |
long long freq; /* frequency offset (scaled ppm) */ | |
long long maxerror; /* maximum error (usec) */ | |
long long esterror; /* estimated error (usec) */ | |
int status; /* clock command/status */ | |
int :32; /* pad */ | |
long long constant; /* pll time constant */ | |
long long precision; /* clock precision (usec) (read only) */ | |
long long tolerance; /* clock frequency tolerance (ppm) (ro) */ | |
struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ | |
long long tick; /* (modified) usecs between clock ticks */ | |
long long ppsfreq; /* pps frequency (scaled ppm) (ro) */ | |
long long jitter; /* pps jitter (us) (ro) */ | |
int shift; /* interval duration (s) (shift) (ro) */ | |
int :32; /* pad */ | |
long long stabil; /* pps stability (scaled ppm) (ro) */ | |
long long jitcnt; /* jitter limit exceeded (ro) */ | |
long long calcnt; /* calibration intervals (ro) */ | |
long long errcnt; /* calibration errors (ro) */ | |
long long stbcnt; /* stability limit exceeded (ro) */ | |
int tai; /* TAI offset (ro) */ | |
int :32; int :32; int :32; int :32; | |
int :32; int :32; int :32; int :32; | |
int :32; int :32; int :32; | |
# else | |
# 58 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
unsigned int modes; /* mode selector */ | |
__syscall_slong_t offset; /* time offset (usec) */ | |
__syscall_slong_t freq; /* frequency offset (scaled ppm) */ | |
__syscall_slong_t maxerror; /* maximum error (usec) */ | |
__syscall_slong_t esterror; /* estimated error (usec) */ | |
int status; /* clock command/status */ | |
__syscall_slong_t constant; /* pll time constant */ | |
__syscall_slong_t precision; /* clock precision (usec) (ro) */ | |
__syscall_slong_t tolerance; /* clock frequency tolerance (ppm) (ro) */ | |
struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ | |
__syscall_slong_t tick; /* (modified) usecs between clock ticks */ | |
__syscall_slong_t ppsfreq; /* pps frequency (scaled ppm) (ro) */ | |
__syscall_slong_t jitter; /* pps jitter (us) (ro) */ | |
int shift; /* interval duration (s) (shift) (ro) */ | |
__syscall_slong_t stabil; /* pps stability (scaled ppm) (ro) */ | |
__syscall_slong_t jitcnt; /* jitter limit exceeded (ro) */ | |
__syscall_slong_t calcnt; /* calibration intervals (ro) */ | |
__syscall_slong_t errcnt; /* calibration errors (ro) */ | |
__syscall_slong_t stbcnt; /* stability limit exceeded (ro) */ | |
int tai; /* TAI offset (ro) */ | |
/* ??? */ | |
int :32; int :32; int :32; int :32; | |
int :32; int :32; int :32; int :32; | |
int :32; int :32; int :32; | |
# endif | |
# 85 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
}; | |
/* Mode codes (timex.mode) */ | |
#define ADJ_OFFSET 0x0001 /* time offset */ | |
#define ADJ_FREQUENCY 0x0002 /* frequency offset */ | |
#define ADJ_MAXERROR 0x0004 /* maximum time error */ | |
#define ADJ_ESTERROR 0x0008 /* estimated time error */ | |
#define ADJ_STATUS 0x0010 /* clock status */ | |
#define ADJ_TIMECONST 0x0020 /* pll time constant */ | |
#define ADJ_TAI 0x0080 /* set TAI offset */ | |
#define ADJ_SETOFFSET 0x0100 /* add 'time' to current time */ | |
#define ADJ_MICRO 0x1000 /* select microsecond resolution */ | |
#define ADJ_NANO 0x2000 /* select nanosecond resolution */ | |
#define ADJ_TICK 0x4000 /* tick value */ | |
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ | |
#define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */ | |
/* xntp 3.4 compatibility names */ | |
#define MOD_OFFSET ADJ_OFFSET | |
#define MOD_FREQUENCY ADJ_FREQUENCY | |
#define MOD_MAXERROR ADJ_MAXERROR | |
#define MOD_ESTERROR ADJ_ESTERROR | |
#define MOD_STATUS ADJ_STATUS | |
#define MOD_TIMECONST ADJ_TIMECONST | |
#define MOD_CLKB ADJ_TICK | |
#define MOD_CLKA ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */ | |
#define MOD_TAI ADJ_TAI | |
#define MOD_MICRO ADJ_MICRO | |
#define MOD_NANO ADJ_NANO | |
/* Status codes (timex.status) */ | |
#define STA_PLL 0x0001 /* enable PLL updates (rw) */ | |
#define STA_PPSFREQ 0x0002 /* enable PPS freq discipline (rw) */ | |
#define STA_PPSTIME 0x0004 /* enable PPS time discipline (rw) */ | |
#define STA_FLL 0x0008 /* select frequency-lock mode (rw) */ | |
#define STA_INS 0x0010 /* insert leap (rw) */ | |
#define STA_DEL 0x0020 /* delete leap (rw) */ | |
#define STA_UNSYNC 0x0040 /* clock unsynchronized (rw) */ | |
#define STA_FREQHOLD 0x0080 /* hold frequency (rw) */ | |
#define STA_PPSSIGNAL 0x0100 /* PPS signal present (ro) */ | |
#define STA_PPSJITTER 0x0200 /* PPS signal jitter exceeded (ro) */ | |
#define STA_PPSWANDER 0x0400 /* PPS signal wander exceeded (ro) */ | |
#define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */ | |
#define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */ | |
#define STA_NANO 0x2000 /* resolution (0 = us, 1 = ns) (ro) */ | |
#define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */ | |
#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */ | |
/* Read-only bits */ | |
#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER \ | |
| STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) | |
#endif /* bits/timex.h */ | |
# 142 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4 | |
#endif /* timex.h expanded by -frewrite-includes */ | |
# 74 "/usr/include/x86_64-linux-gnu/bits/time.h" 2 3 4 | |
__BEGIN_DECLS | |
/* Tune a POSIX clock. */ | |
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2)); | |
#ifdef __USE_TIME_BITS64 | |
#if 0 /* disabled by -frewrite-includes */ | |
# if defined(__REDIRECT_NTH) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 82 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, | |
struct timex *__utx), | |
__clock_adjtime64) __nonnull((2)); | |
# else | |
# 86 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
# define clock_adjtime __clock_adjtime64 | |
# endif | |
# 88 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
#endif | |
# 89 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
__END_DECLS | |
#endif /* use GNU */ | |
# 92 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
#endif /* bits/time.h */ | |
# 94 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 | |
#endif /* time.h expanded by -frewrite-includes */ | |
# 34 "/usr/include/time.h" 2 3 4 | |
/* Many of the typedefs and structs whose official home is this header | |
may also need to be defined by other headers. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* clock_t.h expanded by -frewrite-includes */ | |
#include <bits/types/clock_t.h> | |
#else /* clock_t.h expanded by -frewrite-includes */ | |
# 37 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 | |
#ifndef __clock_t_defined | |
#define __clock_t_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 3 4 | |
/* Returned by `clock'. */ | |
typedef __clock_t clock_t; | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 3 4 | |
#endif /* clock_t.h expanded by -frewrite-includes */ | |
# 38 "/usr/include/time.h" 2 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types/time_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 38 "/usr/include/time.h" 3 4 | |
# 39 "/usr/include/time.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_tm.h expanded by -frewrite-includes */ | |
#include <bits/types/struct_tm.h> | |
#else /* struct_tm.h expanded by -frewrite-includes */ | |
# 39 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 1 3 4 | |
#ifndef __struct_tm_defined | |
#define __struct_tm_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3 4 | |
/* ISO C `broken-down time' structure. */ | |
struct tm | |
{ | |
int tm_sec; /* Seconds. [0-60] (1 leap second) */ | |
int tm_min; /* Minutes. [0-59] */ | |
int tm_hour; /* Hours. [0-23] */ | |
int tm_mday; /* Day. [1-31] */ | |
int tm_mon; /* Month. [0-11] */ | |
int tm_year; /* Year - 1900. */ | |
int tm_wday; /* Day of week. [0-6] */ | |
int tm_yday; /* Days in year.[0-365] */ | |
int tm_isdst; /* DST. [-1/0/1]*/ | |
# ifdef __USE_MISC | |
long int tm_gmtoff; /* Seconds east of UTC. */ | |
const char *tm_zone; /* Timezone abbreviation. */ | |
# else | |
# 23 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3 4 | |
long int __tm_gmtoff; /* Seconds east of UTC. */ | |
const char *__tm_zone; /* Timezone abbreviation. */ | |
# endif | |
# 26 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3 4 | |
}; | |
#endif | |
# 29 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3 4 | |
#endif /* struct_tm.h expanded by -frewrite-includes */ | |
# 40 "/usr/include/time.h" 2 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_POSIX199309 || defined __USE_ISOC11 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 42 "/usr/include/time.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/types/struct_timespec.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 42 "/usr/include/time.h" 3 4 | |
# 43 "/usr/include/time.h" 3 4 | |
#endif | |
# 44 "/usr/include/time.h" 3 4 | |
#ifdef __USE_POSIX199309 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* clockid_t.h expanded by -frewrite-includes */ | |
# include <bits/types/clockid_t.h> | |
#else /* clockid_t.h expanded by -frewrite-includes */ | |
# 46 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 | |
#ifndef __clockid_t_defined | |
#define __clockid_t_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 3 4 | |
/* Clock ID used in clock and timer functions. */ | |
typedef __clockid_t clockid_t; | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 3 4 | |
#endif /* clockid_t.h expanded by -frewrite-includes */ | |
# 47 "/usr/include/time.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* timer_t.h expanded by -frewrite-includes */ | |
# include <bits/types/timer_t.h> | |
#else /* timer_t.h expanded by -frewrite-includes */ | |
# 47 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 | |
#ifndef __timer_t_defined | |
#define __timer_t_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 3 4 | |
/* Timer ID returned by `timer_create'. */ | |
typedef __timer_t timer_t; | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 3 4 | |
#endif /* timer_t.h expanded by -frewrite-includes */ | |
# 48 "/usr/include/time.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_itimerspec.h expanded by -frewrite-includes */ | |
# include <bits/types/struct_itimerspec.h> | |
#else /* struct_itimerspec.h expanded by -frewrite-includes */ | |
# 48 "/usr/include/time.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4 | |
#ifndef __itimerspec_defined | |
#define __itimerspec_defined 1 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3 4 | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types/struct_timespec.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 5 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3 4 | |
# 6 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3 4 | |
/* POSIX.1b structure for timer start values and intervals. */ | |
struct itimerspec | |
{ | |
struct timespec it_interval; | |
struct timespec it_value; | |
}; | |
#endif | |
# 15 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3 4 | |
#endif /* struct_itimerspec.h expanded by -frewrite-includes */ | |
# 49 "/usr/include/time.h" 2 3 4 | |
struct sigevent; | |
#endif | |
# 51 "/usr/include/time.h" 3 4 | |
#ifdef __USE_XOPEN2K | |
# ifndef __pid_t_defined | |
typedef __pid_t pid_t; | |
# define __pid_t_defined | |
# endif | |
# 57 "/usr/include/time.h" 3 4 | |
#endif | |
# 58 "/usr/include/time.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
#if 0 /* expanded by -frewrite-includes */ | |
# include <bits/types/locale_t.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 60 "/usr/include/time.h" 3 4 | |
# 61 "/usr/include/time.h" 3 4 | |
#endif | |
# 62 "/usr/include/time.h" 3 4 | |
#ifdef __USE_ISOC11 | |
/* Time base values for timespec_get. */ | |
# define TIME_UTC 1 | |
#endif | |
# 67 "/usr/include/time.h" 3 4 | |
__BEGIN_DECLS | |
/* Time used by the program so far (user time + system time). | |
The result / CLOCKS_PER_SEC is program time in seconds. */ | |
extern clock_t clock (void) __THROW; | |
#ifndef __USE_TIME_BITS64 | |
/* Return the current time and put it in *TIMER if TIMER is not NULL. */ | |
extern time_t time (time_t *__timer) __THROW; | |
/* Return the difference between TIME1 and TIME0. */ | |
extern double difftime (time_t __time1, time_t __time0) | |
__THROW __attribute__ ((__const__)); | |
/* Return the `time_t' representation of TP and normalize TP. */ | |
extern time_t mktime (struct tm *__tp) __THROW; | |
#else | |
# 85 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern time_t __REDIRECT_NTH (time, (time_t *__timer), __time64); | |
extern double __REDIRECT_NTH (difftime, (time_t __time1, time_t __time0), | |
__difftime64) __attribute__ ((__const__)); | |
extern time_t __REDIRECT_NTH (mktime, (struct tm *__tp), __mktime64); | |
# else | |
# 91 "/usr/include/time.h" 3 4 | |
# define time __time64 | |
# define difftime __difftime64 | |
# define mktime __mktime64 | |
# endif | |
# 95 "/usr/include/time.h" 3 4 | |
#endif | |
# 96 "/usr/include/time.h" 3 4 | |
/* Format TP into S according to FORMAT. | |
Write no more than MAXSIZE characters and return the number | |
of characters written, or 0 if it would exceed MAXSIZE. */ | |
extern size_t strftime (char *__restrict __s, size_t __maxsize, | |
const char *__restrict __format, | |
const struct tm *__restrict __tp) | |
__THROW __nonnull((1, 3, 4)); | |
#ifdef __USE_XOPEN | |
/* Parse S according to FORMAT and store binary time information in TP. | |
The return value is a pointer to the first unparsed character in S. */ | |
extern char *strptime (const char *__restrict __s, | |
const char *__restrict __fmt, struct tm *__tp) | |
__THROW; | |
#endif | |
# 112 "/usr/include/time.h" 3 4 | |
#ifdef __USE_XOPEN2K8 | |
/* Similar to the two functions above but take the information from | |
the provided locale and not the global locale. */ | |
extern size_t strftime_l (char *__restrict __s, size_t __maxsize, | |
const char *__restrict __format, | |
const struct tm *__restrict __tp, | |
locale_t __loc) __THROW; | |
#endif | |
# 122 "/usr/include/time.h" 3 4 | |
#ifdef __USE_GNU | |
extern char *strptime_l (const char *__restrict __s, | |
const char *__restrict __fmt, struct tm *__tp, | |
locale_t __loc) __THROW; | |
#endif | |
# 128 "/usr/include/time.h" 3 4 | |
#ifndef __USE_TIME_BITS64 | |
/* Return the `struct tm' representation of *TIMER | |
in Universal Coordinated Time (aka Greenwich Mean Time). */ | |
extern struct tm *gmtime (const time_t *__timer) __THROW; | |
/* Return the `struct tm' representation | |
of *TIMER in the local timezone. */ | |
extern struct tm *localtime (const time_t *__timer) __THROW; | |
#else | |
# 140 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern struct tm*__REDIRECT_NTH (gmtime, (const time_t *__timer), __gmtime64); | |
extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer), | |
__localtime64); | |
# else | |
# 145 "/usr/include/time.h" 3 4 | |
# define gmtime __gmtime64 | |
# define localtime __localtime64 | |
# endif | |
# 148 "/usr/include/time.h" 3 4 | |
#endif | |
# 149 "/usr/include/time.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_POSIX || __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 152 "/usr/include/time.h" 3 4 | |
# ifndef __USE_TIME_BITS64 | |
/* Return the `struct tm' representation of *TIMER in UTC, | |
using *TP to store the result. */ | |
extern struct tm *gmtime_r (const time_t *__restrict __timer, | |
struct tm *__restrict __tp) __THROW; | |
/* Return the `struct tm' representation of *TIMER in local time, | |
using *TP to store the result. */ | |
extern struct tm *localtime_r (const time_t *__restrict __timer, | |
struct tm *__restrict __tp) __THROW; | |
# else | |
# 163 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern struct tm*__REDIRECT_NTH (gmtime_r, (const time_t *__restrict __timer, | |
struct tm *__restrict __tp), | |
__gmtime64_r); | |
extern struct tm*__REDIRECT_NTH (localtime_r, (const time_t *__restrict __t, | |
struct tm *__restrict __tp), | |
__localtime64_r); | |
# else | |
# 172 "/usr/include/time.h" 3 4 | |
# define gmtime_r __gmtime64_r | |
# define localtime_r __localtime_r | |
# endif | |
# 175 "/usr/include/time.h" 3 4 | |
# endif | |
# 176 "/usr/include/time.h" 3 4 | |
#endif /* POSIX || C2X */ | |
# 177 "/usr/include/time.h" 3 4 | |
/* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n" | |
that is the representation of TP in this format. */ | |
extern char *asctime (const struct tm *__tp) __THROW; | |
/* Equivalent to `asctime (localtime (timer))'. */ | |
#ifndef __USE_TIME_BITS64 | |
extern char *ctime (const time_t *__timer) __THROW; | |
#else | |
# 186 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern char *__REDIRECT_NTH (ctime, (const time_t *__timer), __ctime64); | |
# else | |
# 189 "/usr/include/time.h" 3 4 | |
# define ctime __ctime64 | |
# endif | |
# 191 "/usr/include/time.h" 3 4 | |
#endif | |
# 192 "/usr/include/time.h" 3 4 | |
#ifdef __USE_POSIX | |
/* Reentrant versions of the above functions. */ | |
/* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n" | |
that is the representation of TP in this format. */ | |
extern char *asctime_r (const struct tm *__restrict __tp, | |
char *__restrict __buf) __THROW; | |
/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */ | |
#ifndef __USE_TIME_BITS64 | |
extern char *ctime_r (const time_t *__restrict __timer, | |
char *__restrict __buf) __THROW; | |
#else | |
# 206 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict __timer, | |
char *__restrict __buf), __ctime64_r); | |
# else | |
# 210 "/usr/include/time.h" 3 4 | |
# define ctime_r __ctime64_r | |
# endif | |
# 212 "/usr/include/time.h" 3 4 | |
#endif | |
# 213 "/usr/include/time.h" 3 4 | |
#endif /* POSIX */ | |
# 215 "/usr/include/time.h" 3 4 | |
/* Defined in localtime.c. */ | |
extern char *__tzname[2]; /* Current time zone abbreviations. */ | |
extern int __daylight; /* If daylight-saving time is ever in use. */ | |
extern long int __timezone; /* Seconds west of UTC. */ | |
#ifdef __USE_POSIX | |
/* Same as above. */ | |
extern char *tzname[2]; | |
/* Set time conversion information from the TZ environment variable. | |
If TZ is not defined, a locale-dependent default is used. */ | |
extern void tzset (void) __THROW; | |
#endif | |
# 231 "/usr/include/time.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_MISC || defined __USE_XOPEN | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 233 "/usr/include/time.h" 3 4 | |
extern int daylight; | |
extern long int timezone; | |
#endif | |
# 236 "/usr/include/time.h" 3 4 | |
/* Nonzero if YEAR is a leap year (every 4 years, | |
except every 100th isn't, and every 400th is). */ | |
#define __isleap(year) \ | |
((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_MISC || __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 245 "/usr/include/time.h" 3 4 | |
# ifndef __USE_TIME_BITS64 | |
/* Like `mktime', but for TP represents Universal Time, not local time. */ | |
extern time_t timegm (struct tm *__tp) __THROW; | |
# else | |
# 249 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); | |
# else | |
# 252 "/usr/include/time.h" 3 4 | |
# define timegm __timegm64 | |
# endif | |
# 254 "/usr/include/time.h" 3 4 | |
# endif | |
# 255 "/usr/include/time.h" 3 4 | |
#endif | |
# 256 "/usr/include/time.h" 3 4 | |
#ifdef __USE_MISC | |
/* Miscellaneous functions many Unices inherited from the public domain | |
localtime package. These are included only for compatibility. */ | |
#ifndef __USE_TIME_BITS64 | |
/* Another name for `mktime'. */ | |
extern time_t timelocal (struct tm *__tp) __THROW; | |
#else | |
# 266 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64); | |
# endif | |
# 269 "/usr/include/time.h" 3 4 | |
#endif | |
# 270 "/usr/include/time.h" 3 4 | |
/* Return the number of days in YEAR. */ | |
extern int dysize (int __year) __THROW __attribute__ ((__const__)); | |
#endif | |
# 274 "/usr/include/time.h" 3 4 | |
#ifdef __USE_POSIX199309 | |
# ifndef __USE_TIME_BITS64 | |
/* Pause execution for a number of nanoseconds. | |
This function is a cancellation point and therefore not marked with | |
__THROW. */ | |
extern int nanosleep (const struct timespec *__requested_time, | |
struct timespec *__remaining); | |
/* Get resolution of clock CLOCK_ID. */ | |
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW; | |
/* Get current value of clock CLOCK_ID and store it in TP. */ | |
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) | |
__THROW __nonnull((2)); | |
/* Set clock CLOCK_ID to value TP. */ | |
extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) | |
__THROW __nonnull((2)); | |
# else | |
# 296 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (nanosleep, (const struct timespec *__requested_time, | |
struct timespec *__remaining), | |
__nanosleep64); | |
extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id, | |
struct timespec *__res), | |
__clock_getres64); | |
extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, struct | |
timespec *__tp), __clock_gettime64) | |
__nonnull((2)); | |
extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct | |
timespec *__tp), __clock_settime64) | |
__nonnull((2)); | |
# else | |
# 310 "/usr/include/time.h" 3 4 | |
# define nanosleep __nanosleep64 | |
# define clock_getres __clock_getres64 | |
# define clock_gettime __clock_gettime64 | |
# define clock_settime __clock_settime64 | |
# endif | |
# 315 "/usr/include/time.h" 3 4 | |
# endif | |
# 316 "/usr/include/time.h" 3 4 | |
# ifdef __USE_XOPEN2K | |
/* High-resolution sleep with the specified clock. | |
This function is a cancellation point and therefore not marked with | |
__THROW. */ | |
# ifndef __USE_TIME_BITS64 | |
extern int clock_nanosleep (clockid_t __clock_id, int __flags, | |
const struct timespec *__req, | |
struct timespec *__rem); | |
# else | |
# 328 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT | |
extern int __REDIRECT (clock_nanosleep, (clockid_t __clock_id, int __flags, | |
const struct timespec *__req, | |
struct timespec *__rem), | |
__clock_nanosleep_time64); | |
# else | |
# 334 "/usr/include/time.h" 3 4 | |
# define clock_nanosleep __clock_nanosleep_time64 | |
# endif | |
# 336 "/usr/include/time.h" 3 4 | |
# endif | |
# 337 "/usr/include/time.h" 3 4 | |
/* Return clock ID for CPU-time clock. */ | |
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __THROW; | |
# endif | |
# 341 "/usr/include/time.h" 3 4 | |
/* Create new per-process timer using CLOCK_ID. */ | |
extern int timer_create (clockid_t __clock_id, | |
struct sigevent *__restrict __evp, | |
timer_t *__restrict __timerid) __THROW; | |
/* Delete timer TIMERID. */ | |
extern int timer_delete (timer_t __timerid) __THROW; | |
/* Set timer TIMERID to VALUE, returning old value in OVALUE. */ | |
# ifndef __USE_TIME_BITS64 | |
extern int timer_settime (timer_t __timerid, int __flags, | |
const struct itimerspec *__restrict __value, | |
struct itimerspec *__restrict __ovalue) __THROW; | |
/* Get current value of timer TIMERID and store it in VALUE. */ | |
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) | |
__THROW; | |
# else | |
# 361 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern int __REDIRECT_NTH (timer_settime, (timer_t __timerid, int __flags, | |
const struct itimerspec *__restrict __value, | |
struct itimerspec *__restrict __ovalue), | |
__timer_settime64); | |
extern int __REDIRECT_NTH (timer_gettime, (timer_t __timerid, | |
struct itimerspec *__value), | |
__timer_gettime64); | |
# else | |
# 371 "/usr/include/time.h" 3 4 | |
# define timer_settime __timer_settime64 | |
# define timer_gettime __timer_gettime64 | |
# endif | |
# 374 "/usr/include/time.h" 3 4 | |
# endif | |
# 375 "/usr/include/time.h" 3 4 | |
/* Get expiration overrun for timer TIMERID. */ | |
extern int timer_getoverrun (timer_t __timerid) __THROW; | |
#endif | |
# 379 "/usr/include/time.h" 3 4 | |
#ifdef __USE_ISOC11 | |
# ifndef __USE_TIME_BITS64 | |
/* Set TS to calendar time based in time base BASE. */ | |
extern int timespec_get (struct timespec *__ts, int __base) | |
__THROW __nonnull ((1)); | |
# else | |
# 387 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int __base), | |
__timespec_get64) __nonnull ((1)); | |
# else | |
# 391 "/usr/include/time.h" 3 4 | |
# define timespec_get __timespec_get64 | |
# endif | |
# 393 "/usr/include/time.h" 3 4 | |
# endif | |
# 394 "/usr/include/time.h" 3 4 | |
#endif | |
# 395 "/usr/include/time.h" 3 4 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if __GLIBC_USE (ISOC2X) | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 398 "/usr/include/time.h" 3 4 | |
# ifndef __USE_TIME_BITS64 | |
/* Set TS to resolution of time base BASE. */ | |
extern int timespec_getres (struct timespec *__ts, int __base) | |
__THROW; | |
# else | |
# 403 "/usr/include/time.h" 3 4 | |
# ifdef __REDIRECT_NTH | |
extern int __REDIRECT_NTH (timespec_getres, (struct timespec *__ts, | |
int __base), | |
__timespec_getres64); | |
# else | |
# 408 "/usr/include/time.h" 3 4 | |
# define timespec_getres __timespec_getres64 | |
# endif | |
# 410 "/usr/include/time.h" 3 4 | |
# endif | |
# 411 "/usr/include/time.h" 3 4 | |
#endif | |
# 412 "/usr/include/time.h" 3 4 | |
#ifdef __USE_XOPEN_EXTENDED | |
/* Set to one of the following values to indicate an error. | |
1 the DATEMSK environment variable is null or undefined, | |
2 the template file cannot be opened for reading, | |
3 failed to get file status information, | |
4 the template file is not a regular file, | |
5 an error is encountered while reading the template file, | |
6 memory allication failed (not enough memory available), | |
7 there is no line in the template that matches the input, | |
8 invalid input specification Example: February 31 or a time is | |
specified that can not be represented in a time_t (representing | |
the time in seconds since 00:00:00 UTC, January 1, 1970) */ | |
extern int getdate_err; | |
/* Parse the given string as a date specification and return a value | |
representing the value. The templates from the file identified by | |
the environment variable DATEMSK are used. In case of an error | |
`getdate_err' is set. | |
This function is a possible cancellation point and therefore not | |
marked with __THROW. */ | |
extern struct tm *getdate (const char *__string); | |
#endif | |
# 437 "/usr/include/time.h" 3 4 | |
#ifdef __USE_GNU | |
/* Since `getdate' is not reentrant because of the use of `getdate_err' | |
and the static buffer to return the result in, we provide a thread-safe | |
variant. The functionality is the same. The result is returned in | |
the buffer pointed to by RESBUFP and in case of an error the return | |
value is != 0 with the same values as given above for `getdate_err'. | |
This function is not part of POSIX and therefore no official | |
cancellation point. But due to similarity with an POSIX interface | |
or due to the implementation it is a cancellation point and | |
therefore not marked with __THROW. */ | |
extern int getdate_r (const char *__restrict __string, | |
struct tm *__restrict __resbufp); | |
#endif | |
# 452 "/usr/include/time.h" 3 4 | |
__END_DECLS | |
#endif /* time.h. */ | |
# 456 "/usr/include/time.h" 3 4 | |
#endif /* time.h expanded by -frewrite-includes */ | |
# 24 "/usr/include/pthread.h" 2 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/endian.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 25 "/usr/include/pthread.h" 3 4 | |
# 26 "/usr/include/pthread.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* pthreadtypes.h expanded by -frewrite-includes */ | |
#include <bits/pthreadtypes.h> | |
#else /* pthreadtypes.h expanded by -frewrite-includes */ | |
# 26 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 | |
/* Declaration of common pthread types for all architectures. | |
Copyright (C) 2017-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_PTHREADTYPES_COMMON_H | |
# define _BITS_PTHREADTYPES_COMMON_H 1 | |
/* For internal mutex and condition variable definitions. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* thread-shared-types.h expanded by -frewrite-includes */ | |
#include <bits/thread-shared-types.h> | |
#else /* thread-shared-types.h expanded by -frewrite-includes */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 | |
/* Common threading primitives definitions for both POSIX and C11. | |
Copyright (C) 2017-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _THREAD_SHARED_TYPES_H | |
#define _THREAD_SHARED_TYPES_H 1 | |
/* Arch-specific definitions. Each architecture must define the following | |
macros to define the expected sizes of pthread data types: | |
__SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. | |
__SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. | |
__SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. | |
__SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. | |
__SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. | |
__SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. | |
__SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. | |
__SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. | |
__SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. | |
The additional macro defines any constraint for the lock alignment | |
inside the thread structures: | |
__LOCK_ALIGNMENT - for internal lock/futex usage. | |
Same idea but for the once locking primitive: | |
__ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* pthreadtypes-arch.h expanded by -frewrite-includes */ | |
#include <bits/pthreadtypes-arch.h> | |
#else /* pthreadtypes-arch.h expanded by -frewrite-includes */ | |
# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 | |
/* Copyright (C) 2002-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_PTHREADTYPES_ARCH_H | |
#define _BITS_PTHREADTYPES_ARCH_H 1 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 | |
#ifdef __x86_64__ | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 25 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
# define __SIZEOF_PTHREAD_MUTEX_T 40 | |
# define __SIZEOF_PTHREAD_ATTR_T 56 | |
# define __SIZEOF_PTHREAD_RWLOCK_T 56 | |
# define __SIZEOF_PTHREAD_BARRIER_T 32 | |
# else | |
# 30 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
# define __SIZEOF_PTHREAD_MUTEX_T 32 | |
# define __SIZEOF_PTHREAD_ATTR_T 32 | |
# define __SIZEOF_PTHREAD_RWLOCK_T 44 | |
# define __SIZEOF_PTHREAD_BARRIER_T 20 | |
# endif | |
# 35 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
#else | |
# 36 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
# define __SIZEOF_PTHREAD_MUTEX_T 24 | |
# define __SIZEOF_PTHREAD_ATTR_T 36 | |
# define __SIZEOF_PTHREAD_RWLOCK_T 32 | |
# define __SIZEOF_PTHREAD_BARRIER_T 20 | |
#endif | |
# 41 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 | |
#define __SIZEOF_PTHREAD_COND_T 48 | |
#define __SIZEOF_PTHREAD_CONDATTR_T 4 | |
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 | |
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 | |
#define __LOCK_ALIGNMENT | |
#define __ONCE_ALIGNMENT | |
#ifndef __x86_64__ | |
/* Extra attributes for the cleanup functions. */ | |
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1))) | |
#endif | |
# 54 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
#endif /* bits/pthreadtypes.h */ | |
# 56 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 | |
#endif /* pthreadtypes-arch.h expanded by -frewrite-includes */ | |
# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* atomic_wide_counter.h expanded by -frewrite-includes */ | |
#include <bits/atomic_wide_counter.h> | |
#else /* atomic_wide_counter.h expanded by -frewrite-includes */ | |
# 46 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 | |
/* Monotonically increasing wide counters (at least 62 bits). | |
Copyright (C) 2016-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
#ifndef _BITS_ATOMIC_WIDE_COUNTER_H | |
#define _BITS_ATOMIC_WIDE_COUNTER_H | |
/* Counter that is monotonically increasing (by less than 2**31 per | |
increment), with a single writer, and an arbitrary number of | |
readers. */ | |
typedef union | |
{ | |
__extension__ unsigned long long int __value64; | |
struct | |
{ | |
unsigned int __low; | |
unsigned int __high; | |
} __value32; | |
} __atomic_wide_counter; | |
#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */ | |
# 36 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 | |
#endif /* atomic_wide_counter.h expanded by -frewrite-includes */ | |
# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 | |
/* Common definition of pthread_mutex_t. */ | |
typedef struct __pthread_internal_list | |
{ | |
struct __pthread_internal_list *__prev; | |
struct __pthread_internal_list *__next; | |
} __pthread_list_t; | |
typedef struct __pthread_internal_slist | |
{ | |
struct __pthread_internal_slist *__next; | |
} __pthread_slist_t; | |
/* Arch-specific mutex definitions. A generic implementation is provided | |
by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture | |
can override it by defining: | |
1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t | |
definition). It should contains at least the internal members | |
defined in the generic version. | |
2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with | |
atomic operations. | |
3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. | |
It should initialize the mutex internal flag. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_mutex.h expanded by -frewrite-includes */ | |
#include <bits/struct_mutex.h> | |
#else /* struct_mutex.h expanded by -frewrite-includes */ | |
# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 | |
/* x86 internal mutex struct definitions. | |
Copyright (C) 2019-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<http://www.gnu.org/licenses/>. */ | |
#ifndef _THREAD_MUTEX_INTERNAL_H | |
#define _THREAD_MUTEX_INTERNAL_H 1 | |
struct __pthread_mutex_s | |
{ | |
int __lock; | |
unsigned int __count; | |
int __owner; | |
#ifdef __x86_64__ | |
unsigned int __nusers; | |
#endif | |
# 30 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
/* KIND must stay at this position in the structure to maintain | |
binary compatibility with static initializers. */ | |
int __kind; | |
#ifdef __x86_64__ | |
short __spins; | |
short __elision; | |
__pthread_list_t __list; | |
# define __PTHREAD_MUTEX_HAVE_PREV 1 | |
#else | |
# 39 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
unsigned int __nusers; | |
__extension__ union | |
{ | |
struct | |
{ | |
short __espins; | |
short __eelision; | |
# define __spins __elision_data.__espins | |
# define __elision __elision_data.__eelision | |
} __elision_data; | |
__pthread_slist_t __list; | |
}; | |
# define __PTHREAD_MUTEX_HAVE_PREV 0 | |
#endif | |
# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
}; | |
#ifdef __x86_64__ | |
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ | |
0, 0, 0, 0, __kind, 0, 0, { 0, 0 } | |
#else | |
# 59 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ | |
0, 0, 0, __kind, 0, { { 0, 0 } } | |
#endif | |
# 62 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
#endif | |
# 64 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 | |
#endif /* struct_mutex.h expanded by -frewrite-includes */ | |
# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 | |
/* Arch-sepecific read-write lock definitions. A generic implementation is | |
provided by struct_rwlock.h. If required, an architecture can override it | |
by defining: | |
1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). | |
It should contain at least the internal members defined in the | |
generic version. | |
2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. | |
It should initialize the rwlock internal type. */ | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct_rwlock.h expanded by -frewrite-includes */ | |
#include <bits/struct_rwlock.h> | |
#else /* struct_rwlock.h expanded by -frewrite-includes */ | |
# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 | |
/* x86 internal rwlock struct definitions. | |
Copyright (C) 2019-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<http://www.gnu.org/licenses/>. */ | |
#ifndef _RWLOCK_INTERNAL_H | |
#define _RWLOCK_INTERNAL_H | |
struct __pthread_rwlock_arch_t | |
{ | |
unsigned int __readers; | |
unsigned int __writers; | |
unsigned int __wrphase_futex; | |
unsigned int __writers_futex; | |
unsigned int __pad3; | |
unsigned int __pad4; | |
#ifdef __x86_64__ | |
int __cur_writer; | |
int __shared; | |
signed char __rwelision; | |
# ifdef __ILP32__ | |
unsigned char __pad1[3]; | |
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 } | |
# else | |
# 39 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
unsigned char __pad1[7]; | |
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 } | |
# endif | |
# 42 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
unsigned long int __pad2; | |
/* FLAGS must stay at this position in the structure to maintain | |
binary compatibility. */ | |
unsigned int __flags; | |
#else /* __x86_64__ */ | |
# 47 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
/* FLAGS must stay at this position in the structure to maintain | |
binary compatibility. */ | |
unsigned char __flags; | |
unsigned char __shared; | |
signed char __rwelision; | |
unsigned char __pad2; | |
int __cur_writer; | |
#endif | |
# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
}; | |
#ifdef __x86_64__ | |
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ | |
0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags | |
#else | |
# 61 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ | |
0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 | |
#endif | |
# 64 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
#endif | |
# 66 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 | |
#endif /* struct_rwlock.h expanded by -frewrite-includes */ | |
# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 | |
/* Common definition of pthread_cond_t. */ | |
struct __pthread_cond_s | |
{ | |
__atomic_wide_counter __wseq; | |
__atomic_wide_counter __g1_start; | |
unsigned int __g_refs[2] __LOCK_ALIGNMENT; | |
unsigned int __g_size[2]; | |
unsigned int __g1_orig_size; | |
unsigned int __wrefs; | |
unsigned int __g_signals[2]; | |
}; | |
typedef unsigned int __tss_t; | |
typedef unsigned long int __thrd_t; | |
typedef struct | |
{ | |
int __data __ONCE_ALIGNMENT; | |
} __once_flag; | |
#define __ONCE_FLAG_INIT { 0 } | |
#endif /* _THREAD_SHARED_TYPES_H */ | |
# 116 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 | |
#endif /* thread-shared-types.h expanded by -frewrite-includes */ | |
# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 | |
/* Thread identifiers. The structure of the attribute type is not | |
exposed on purpose. */ | |
typedef unsigned long int pthread_t; | |
/* Data structures for mutex handling. The structure of the attribute | |
type is not exposed on purpose. */ | |
typedef union | |
{ | |
char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; | |
int __align; | |
} pthread_mutexattr_t; | |
/* Data structure for condition variable handling. The structure of | |
the attribute type is not exposed on purpose. */ | |
typedef union | |
{ | |
char __size[__SIZEOF_PTHREAD_CONDATTR_T]; | |
int __align; | |
} pthread_condattr_t; | |
/* Keys for thread-specific data */ | |
typedef unsigned int pthread_key_t; | |
/* Once-only execution */ | |
typedef int __ONCE_ALIGNMENT pthread_once_t; | |
union pthread_attr_t | |
{ | |
char __size[__SIZEOF_PTHREAD_ATTR_T]; | |
long int __align; | |
}; | |
#ifndef __have_pthread_attr_t | |
typedef union pthread_attr_t pthread_attr_t; | |
# define __have_pthread_attr_t 1 | |
#endif | |
# 65 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
typedef union | |
{ | |
struct __pthread_mutex_s __data; | |
char __size[__SIZEOF_PTHREAD_MUTEX_T]; | |
long int __align; | |
} pthread_mutex_t; | |
typedef union | |
{ | |
struct __pthread_cond_s __data; | |
char __size[__SIZEOF_PTHREAD_COND_T]; | |
__extension__ long long int __align; | |
} pthread_cond_t; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __USE_UNIX98 || defined __USE_XOPEN2K | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 84 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
/* Data structure for reader-writer lock variable handling. The | |
structure of the attribute type is deliberately not exposed. */ | |
typedef union | |
{ | |
struct __pthread_rwlock_arch_t __data; | |
char __size[__SIZEOF_PTHREAD_RWLOCK_T]; | |
long int __align; | |
} pthread_rwlock_t; | |
typedef union | |
{ | |
char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; | |
long int __align; | |
} pthread_rwlockattr_t; | |
#endif | |
# 99 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
#ifdef __USE_XOPEN2K | |
/* POSIX spinlock data type. */ | |
typedef volatile int pthread_spinlock_t; | |
/* POSIX barriers data type. The structure of the type is | |
deliberately not exposed. */ | |
typedef union | |
{ | |
char __size[__SIZEOF_PTHREAD_BARRIER_T]; | |
long int __align; | |
} pthread_barrier_t; | |
typedef union | |
{ | |
char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; | |
int __align; | |
} pthread_barrierattr_t; | |
#endif | |
# 120 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
#endif | |
# 122 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 | |
#endif /* pthreadtypes.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/pthread.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* setjmp.h expanded by -frewrite-includes */ | |
#include <bits/setjmp.h> | |
#else /* setjmp.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 1 3 4 | |
/* Copyright (C) 2001-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Software Foundation; either | |
version 2.1 of the License, or (at your option) any later version. | |
The GNU C Library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public | |
License along with the GNU C Library; if not, see | |
<https://www.gnu.org/licenses/>. */ | |
/* Define the machine-dependent type `jmp_buf'. x86-64 version. */ | |
#ifndef _BITS_SETJMP_H | |
#define _BITS_SETJMP_H 1 | |
#if 0 /* disabled by -frewrite-includes */ | |
#if !defined _SETJMP_H && !defined _PTHREAD_H | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 0 /* evaluated by -frewrite-includes */ | |
# 23 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." | |
#endif | |
# 25 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 26 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 27 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 2 3 4 | |
#ifndef _ASM | |
#if 0 /* disabled by -frewrite-includes */ | |
# if __WORDSIZE == 64 | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 31 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
typedef long int __jmp_buf[8]; | |
#if 0 /* disabled by -frewrite-includes */ | |
#if 0 | |
# elif defined __x86_64__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#elif 0 /* evaluated by -frewrite-includes */ | |
# 33 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
__extension__ typedef long long int __jmp_buf[8]; | |
# else | |
# 35 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
typedef int __jmp_buf[6]; | |
# endif | |
# 37 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
#endif | |
# 39 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
#endif /* bits/setjmp.h */ | |
# 41 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 | |
#endif /* setjmp.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/pthread.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* wordsize.h expanded by -frewrite-includes */ | |
#include <bits/wordsize.h> | |
#else /* wordsize.h expanded by -frewrite-includes */ | |
# 28 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 | |
/* Determine the wordsize from the preprocessor defines. */ | |
#if 0 /* disabled by -frewrite-includes */ | |
#if defined __x86_64__ && !defined __ILP32__ | |
#endif | |
#endif /* disabled by -frewrite-includes */ | |
#if 1 /* evaluated by -frewrite-includes */ | |
# 4 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 64 | |
#else | |
# 6 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE 32 | |
#define __WORDSIZE32_SIZE_ULONG 0 | |
#define __WORDSIZE32_PTRDIFF_LONG 0 | |
#endif | |
# 10 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#ifdef __x86_64__ | |
# define __WORDSIZE_TIME64_COMPAT32 1 | |
/* Both x86-64 and x32 use the 64-bit system call interface. */ | |
# define __SYSCALL_WORDSIZE 64 | |
#else | |
# 16 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
# define __WORDSIZE_TIME64_COMPAT32 0 | |
#endif | |
# 18 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 3 4 | |
#endif /* wordsize.h expanded by -frewrite-includes */ | |
# 29 "/usr/include/pthread.h" 2 3 4 | |
#if 0 /* expanded by -frewrite-includes */ | |
#include <bits/types/struct_timespec.h> | |
#endif /* expanded by -frewrite-includes */ | |
# 29 "/usr/include/pthread.h" 3 4 | |
# 30 "/usr/include/pthread.h" 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* __sigset_t.h expanded by -frewrite-includes */ | |
#include <bits/types/__sigset_t.h> | |
#else /* __sigset_t.h expanded by -frewrite-includes */ | |
# 30 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 | |
#ifndef ____sigset_t_defined | |
#define ____sigset_t_defined | |
#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) | |
typedef struct | |
{ | |
unsigned long int __val[_SIGSET_NWORDS]; | |
} __sigset_t; | |
#endif | |
# 11 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 3 4 | |
#endif /* __sigset_t.h expanded by -frewrite-includes */ | |
# 31 "/usr/include/pthread.h" 2 3 4 | |
#if defined(__CLANG_REWRITTEN_INCLUDES) || defined(__CLANG_REWRITTEN_SYSTEM_INCLUDES) /* struct___jmp_buf_tag.h expanded by -frewrite-includes */ | |
#include <bits/types/struct___jmp_buf_tag.h> | |
#else /* struct___jmp_buf_tag.h expanded by -frewrite-includes */ | |
# 31 "/usr/include/pthread.h" 3 4 | |
# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h" 1 3 4 | |
/* Define struct __jmp_buf_tag. | |
Copyright (C) 1991-2024 Free Software Foundation, Inc. | |
This file is part of the GNU C Library. | |
The GNU C Library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Lesser General Public | |
License as published by the Free Sof |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment