From: Huck Boles Date: Thu, 17 Nov 2022 21:24:08 +0000 (-0600) Subject: rebase X-Git-Url: https://git.huck.website/?a=commitdiff_plain;h=5b3ca0e4386e5e7d5c2f66190f14be82766f6e9f;p=odot.git rebase --- diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h deleted file mode 100644 index 7665a13..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 1992-2022 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 - . */ - -#ifndef _ALLOCA_H -#define _ALLOCA_H 1 - -#include - -#define __need_size_t -#include - -__BEGIN_DECLS - -/* Remove any previous definition. */ -#undef alloca - -/* Allocate a block that will be freed when the calling function exits. */ -extern void *alloca (size_t __size) __THROW; - -#ifdef __GNUC__ -# define alloca(size) __builtin_alloca (size) -#endif /* GCC. */ - -__END_DECLS - -#endif /* alloca.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h.blob deleted file mode 100644 index c1cf2b5..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@alloca.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h deleted file mode 100644 index e0f8038..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Monotonically increasing wide counters (at least 62 bits). - Copyright (C) 2016-2022 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 - . */ - -#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 */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h.blob deleted file mode 100644 index dd4d0cc..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@atomic_wide_counter.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h deleted file mode 100644 index ca8417d..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2022 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 - . */ - -#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#ifndef _BITS_BYTESWAP_H -#define _BITS_BYTESWAP_H 1 - -#include -#include - -/* Swap bytes in 16-bit value. */ -#define __bswap_constant_16(x) \ - ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) - -static __inline __uint16_t -__bswap_16 (__uint16_t __bsx) -{ -#if __GNUC_PREREQ (4, 8) - return __builtin_bswap16 (__bsx); -#else - return __bswap_constant_16 (__bsx); -#endif -} - -/* Swap bytes in 32-bit value. */ -#define __bswap_constant_32(x) \ - ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \ - | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) - -static __inline __uint32_t -__bswap_32 (__uint32_t __bsx) -{ -#if __GNUC_PREREQ (4, 3) - return __builtin_bswap32 (__bsx); -#else - return __bswap_constant_32 (__bsx); -#endif -} - -/* Swap bytes in 64-bit value. */ -#define __bswap_constant_64(x) \ - ((((x) & 0xff00000000000000ull) >> 56) \ - | (((x) & 0x00ff000000000000ull) >> 40) \ - | (((x) & 0x0000ff0000000000ull) >> 24) \ - | (((x) & 0x000000ff00000000ull) >> 8) \ - | (((x) & 0x00000000ff000000ull) << 8) \ - | (((x) & 0x0000000000ff0000ull) << 24) \ - | (((x) & 0x000000000000ff00ull) << 40) \ - | (((x) & 0x00000000000000ffull) << 56)) - -__extension__ static __inline __uint64_t -__bswap_64 (__uint64_t __bsx) -{ -#if __GNUC_PREREQ (4, 3) - return __builtin_bswap64 (__bsx); -#else - return __bswap_constant_64 (__bsx); -#endif -} - -#endif /* _BITS_BYTESWAP_H */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h.blob deleted file mode 100644 index ea766c9..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@byteswap.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h deleted file mode 100644 index 1160e89..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Endian macros for string.h functions - Copyright (C) 1992-2022 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 - . */ - -#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. */ -#include - -/* Some machines may need to use a different endianness for floating point - values. */ -#ifndef __FLOAT_WORD_ORDER -# define __FLOAT_WORD_ORDER __BYTE_ORDER -#endif - -#if __BYTE_ORDER == __LITTLE_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) LO, HI -#elif __BYTE_ORDER == __BIG_ENDIAN -# define __LONG_LONG_PAIR(HI, LO) HI, LO -#endif - -#endif /* bits/endian.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h.blob deleted file mode 100644 index 39f7425..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endian.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h deleted file mode 100644 index 962a9ae..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _BITS_ENDIANNESS_H -#define _BITS_ENDIANNESS_H 1 - -#ifndef _BITS_ENDIAN_H -# error "Never use directly; include instead." -#endif - -/* i386/x86_64 are little-endian. */ -#define __BYTE_ORDER __LITTLE_ENDIAN - -#endif /* bits/endianness.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h.blob deleted file mode 100644 index a1df9a1..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@endianness.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h deleted file mode 100644 index 92982d6..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h +++ /dev/null @@ -1,329 +0,0 @@ -/* Macros to control TS 18661-3 glibc features where the same - definitions are appropriate for all platforms. - Copyright (C) 2017-2022 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 - . */ - -#ifndef _BITS_FLOATN_COMMON_H -#define _BITS_FLOATN_COMMON_H - -#include -#include - -/* 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_ 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 __GNUC_PREREQ (7, 0) && !defined __cplusplus -# define __HAVE_FLOATN_NOT_TYPEDEF 1 -#else -# define __HAVE_FLOATN_NOT_TYPEDEF 0 -#endif - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _FloatN - or _FloatNx types, if __HAVE_ is 1. The corresponding - literal suffixes exist since GCC 7, for C only. */ -# if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* No corresponding suffix available for this type. */ -# define __f16(x) ((_Float16) x##f) -# else -# define __f16(x) x##f16 -# endif -# endif - -# if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __f32(x) x##f -# else -# define __f32(x) x##f32 -# endif -# endif - -# if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# ifdef __NO_LONG_DOUBLE_MATH -# define __f64(x) x##l -# else -# define __f64(x) x -# endif -# else -# define __f64(x) x##f64 -# endif -# endif - -# if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __f32x(x) x -# else -# define __f32x(x) x##f32x -# endif -# endif - -# if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# if __HAVE_FLOAT64X_LONG_DOUBLE -# define __f64x(x) x##l -# else -# define __f64x(x) __f128 (x) -# endif -# else -# define __f64x(x) x##f64x -# endif -# endif - -# if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128X supported but no constant suffix" -# else -# define __f128x(x) x##f128x -# endif -# endif - -/* Defined to a complex type if __HAVE_ is 1. */ -# if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); -# define __CFLOAT16 __cfloat16 -# else -# define __CFLOAT16 _Complex _Float16 -# endif -# endif - -# if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT32 _Complex float -# else -# define __CFLOAT32 _Complex _Float32 -# endif -# endif - -# if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# ifdef __NO_LONG_DOUBLE_MATH -# define __CFLOAT64 _Complex long double -# else -# define __CFLOAT64 _Complex double -# endif -# else -# define __CFLOAT64 _Complex _Float64 -# endif -# endif - -# if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT32X _Complex double -# else -# define __CFLOAT32X _Complex _Float32x -# endif -# endif - -# if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# if __HAVE_FLOAT64X_LONG_DOUBLE -# define __CFLOAT64X _Complex long double -# else -# define __CFLOAT64X __CFLOAT128 -# endif -# else -# define __CFLOAT64X _Complex _Float64x -# endif -# endif - -# if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128X supported but no complex type" -# else -# define __CFLOAT128X _Complex _Float128x -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT16 - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef float _Float16 __attribute__ ((__mode__ (__HF__))); -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -# if __HAVE_FLOAT32 - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef float _Float32; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -# if __HAVE_FLOAT64 - -/* 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 !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float64; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# else - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef double _Float64; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -# endif - -# if __HAVE_FLOAT32X - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef double _Float32x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -# if __HAVE_FLOAT64X - -# if __HAVE_FLOAT64X_LONG_DOUBLE - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float64x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# else - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef _Float128 _Float64x; -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -# endif - -# if __HAVE_FLOAT128X - -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# error "_Float128x supported but no type" -# endif - -# if !__GNUC_PREREQ (7, 0) -# 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 - -# endif - -#endif /* !__ASSEMBLER__. */ - -#endif /* _BITS_FLOATN_COMMON_H */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h.blob deleted file mode 100644 index 051dbd4..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn-common.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h deleted file mode 100644 index 34a6fdc..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2022 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 - . */ - -#ifndef _BITS_FLOATN_H -#define _BITS_FLOATN_H - -#include - -/* 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 (defined __x86_64__ \ - ? __GNUC_PREREQ (4, 3) \ - : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) -# define __HAVE_FLOAT128 1 -#else -# define __HAVE_FLOAT128 0 -#endif - -/* 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 __HAVE_FLOAT128 -# define __HAVE_DISTINCT_FLOAT128 1 -#else -# define __HAVE_DISTINCT_FLOAT128 0 -#endif - -/* 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 __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* The literal suffix f128 exists only since GCC 7.0. */ -# define __f128(x) x##q -# else -# define __f128(x) x##f128 -# endif -# endif - -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* 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 -# define __CFLOAT128 _Complex _Float128 -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT128 - -/* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef __float128 _Float128; -# endif - -/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) -# endif - -/* 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 !__GNUC_PREREQ (7, 0) -# 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 - -/* 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 !__GNUC_PREREQ (6, 0) -# define __builtin_signbitf128 __signbitf128 -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#include - -#endif /* _BITS_FLOATN_H */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h.blob deleted file mode 100644 index 014c361..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@floatn.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h deleted file mode 100644 index d161ca5..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Handle feature test macros at the start of a header. - Copyright (C) 2016-2022 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 - . */ - -/* 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 directly." -#endif - -#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION - -#include - -/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ - macro. */ -#undef __GLIBC_USE_LIB_EXT2 -#if (defined __USE_GNU \ - || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) -# define __GLIBC_USE_LIB_EXT2 1 -#else -# define __GLIBC_USE_LIB_EXT2 0 -#endif - -/* 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 defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ -# define __GLIBC_USE_IEC_60559_BFP_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_BFP_EXT 0 -#endif -#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X -#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X) -# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 -#else -# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0 -#endif -#undef __GLIBC_USE_IEC_60559_EXT -#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__ -# define __GLIBC_USE_IEC_60559_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_EXT 0 -#endif - -/* 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 defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 -#endif -#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X -#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X) -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 -#else -# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0 -#endif - -/* ISO/IEC TS 18661-3:2015 defines the - __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ -#undef __GLIBC_USE_IEC_60559_TYPES_EXT -#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ -# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 -#else -# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob deleted file mode 100644 index 1fb990d..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@libc-header-start.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h deleted file mode 100644 index 350df84..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2022 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 - . */ - -/* long double is distinct from double, so there is nothing to - define here. */ -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h.blob deleted file mode 100644 index f7d9d9a..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@long-double.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h deleted file mode 100644 index dd06d67..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 2002-2022 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 - . */ - -#ifndef _BITS_PTHREADTYPES_ARCH_H -#define _BITS_PTHREADTYPES_ARCH_H 1 - -#include - -#ifdef __x86_64__ -# if __WORDSIZE == 64 -# 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 -# 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 -#else -# 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 -#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 - -#endif /* bits/pthreadtypes.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h.blob deleted file mode 100644 index 098e8b0..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes-arch.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h deleted file mode 100644 index 6f8907f..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Declaration of common pthread types for all architectures. - Copyright (C) 2017-2022 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 - . */ - -#ifndef _BITS_PTHREADTYPES_COMMON_H -# define _BITS_PTHREADTYPES_COMMON_H 1 - -/* For internal mutex and condition variable definitions. */ -#include - -/* 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 - - -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 defined __USE_UNIX98 || defined __USE_XOPEN2K -/* 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 - - -#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 - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h.blob deleted file mode 100644 index 40af18d..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@pthreadtypes.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h deleted file mode 100644 index 9afd878..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1997-2022 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 - . */ - -#ifndef _SYS_SELECT_H -# error "Never use directly; include instead." -#endif - - -/* We don't use `memset' because this would require a prototype and - the array isn't too big. */ -#define __FD_ZERO(s) \ - do { \ - unsigned int __i; \ - fd_set *__arr = (s); \ - for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ - __FDS_BITS (__arr)[__i] = 0; \ - } while (0) -#define __FD_SET(d, s) \ - ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) -#define __FD_CLR(d, s) \ - ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) -#define __FD_ISSET(d, s) \ - ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h.blob deleted file mode 100644 index 138b61d..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@select.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h deleted file mode 100644 index 599e280..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define intN_t types. - Copyright (C) 2017-2022 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 - . */ - -#ifndef _BITS_STDINT_INTN_H -#define _BITS_STDINT_INTN_H 1 - -#include - -typedef __int8_t int8_t; -typedef __int16_t int16_t; -typedef __int32_t int32_t; -typedef __int64_t int64_t; - -#endif /* bits/stdint-intn.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h.blob deleted file mode 100644 index e3e2d82..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdint-intn.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h deleted file mode 100644 index 4ef3ebb..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1994-2022 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 - . */ - -#ifndef _BITS_STDIO_LIM_H -#define _BITS_STDIO_LIM_H 1 - -#ifndef _STDIO_H -# error "Never include directly; use instead." -#endif - -#define L_tmpnam 20 -#define TMP_MAX 238328 -#define FILENAME_MAX 4096 - -#ifdef __USE_POSIX -# define L_ctermid 9 -# if !defined __USE_XOPEN2K || defined __USE_GNU -# define L_cuserid 9 -# endif -#endif - -#undef FOPEN_MAX -#define FOPEN_MAX 16 - -#endif /* bits/stdio_lim.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h.blob deleted file mode 100644 index c3547d6..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdio_lim.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h deleted file mode 100644 index b4645dc..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Floating-point inline functions for stdlib.h. - Copyright (C) 2012-2022 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 - . */ - -#ifndef _STDLIB_H -# error "Never use directly; include instead." -#endif - -#ifdef __USE_EXTERN_INLINES -__extern_inline double -__NTH (atof (const char *__nptr)) -{ - return strtod (__nptr, (char **) NULL); -} -#endif /* Optimizing and Inlining. */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h.blob deleted file mode 100644 index 25cbb9f..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@stdlib-float.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h deleted file mode 100644 index 2161278..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h +++ /dev/null @@ -1,63 +0,0 @@ -/* x86 internal mutex struct definitions. - Copyright (C) 2019-2022 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 - . */ - -#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 - /* 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 - 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 -}; - -#ifdef __x86_64__ -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ - 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } -#else -# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ - 0, 0, 0, __kind, 0, { { 0, 0 } } -#endif - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h.blob deleted file mode 100644 index 8183433..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_mutex.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h deleted file mode 100644 index a665d0a..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h +++ /dev/null @@ -1,65 +0,0 @@ -/* x86 internal rwlock struct definitions. - Copyright (C) 2019-2022 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 - . */ - -#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 - unsigned char __pad1[7]; -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 } -# endif - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else /* __x86_64__ */ - /* 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 -}; - -#ifdef __x86_64__ -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags -#else -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 -#endif - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h.blob deleted file mode 100644 index 1442e84..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@struct_rwlock.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h deleted file mode 100644 index 5653507..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2022 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 - . */ - -#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. */ - -#include - -#include - - -/* 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. */ - -#include - -/* 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. */ - -#include - - -/* 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 */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h.blob deleted file mode 100644 index b229c03..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@thread-shared-types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h deleted file mode 100644 index 0485a1e..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h +++ /dev/null @@ -1,93 +0,0 @@ -/* System-dependent timing definitions. Linux version. - Copyright (C) 1996-2022 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 - . */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TIME_H -#define _BITS_TIME_H 1 - -#include - -/* 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: - 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 (!defined __STRICT_ANSI__ || defined __USE_POSIX) \ - && !defined __USE_XOPEN2K -/* 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 - -#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 - -#ifdef __USE_GNU -# include - -__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 defined(__REDIRECT_NTH) -extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, - struct timex *__utx), - __clock_adjtime64) __nonnull((2)); -# else -# define clock_adjtime __clock_adjtime64 -# endif -#endif - -__END_DECLS -#endif /* use GNU */ - -#endif /* bits/time.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h.blob deleted file mode 100644 index c173744..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h deleted file mode 100644 index e5f3f7d..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h +++ /dev/null @@ -1,36 +0,0 @@ -/* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2022 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 - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TIME64_H -#define _BITS_TIME64_H 1 - -/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ - -#if __TIMESIZE == 64 -/* If we already have 64-bit time type then use it. */ -# define __TIME64_T_TYPE __TIME_T_TYPE -#else -/* Define a 64-bit time type alongsize the 32-bit one. */ -# define __TIME64_T_TYPE __SQUAD_TYPE -#endif - -#endif /* bits/time64.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h.blob deleted file mode 100644 index d2447a7..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@time64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h deleted file mode 100644 index c3a5255..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2022 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 - . */ - -#include - -#if defined __x86_64__ && defined __ILP32__ -/* For x32, time is 64-bit even though word size is 32-bit. */ -# define __TIMESIZE 64 -#else -/* For others, time size is word size. */ -# define __TIMESIZE __WORDSIZE -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h.blob deleted file mode 100644 index 649e1d9..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timesize.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h deleted file mode 100644 index ce1ac9d..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h +++ /dev/null @@ -1,141 +0,0 @@ -/* Copyright (C) 1995-2022 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 - . */ - -#ifndef _BITS_TIMEX_H -#define _BITS_TIMEX_H 1 - -#include -#include - -/* These definitions from linux/timex.h as of 3.18. */ - -struct timex -{ -# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) - 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 - 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 -}; - -/* 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 */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h.blob deleted file mode 100644 index cbe3fef..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@timex.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h deleted file mode 100644 index f912e77..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h +++ /dev/null @@ -1,228 +0,0 @@ -/* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2022 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 - . */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include -#include -#include - -/* 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 __WORDSIZE == 64 -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; -#else -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif - -/* 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 __WORDSIZE == 64 -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; -#else -__extension__ typedef long long int __quad_t; -__extension__ typedef unsigned long long int __u_quad_t; -#endif - -/* Largest integral types. */ -#if __WORDSIZE == 64 -typedef long int __intmax_t; -typedef unsigned long int __uintmax_t; -#else -__extension__ typedef long long int __intmax_t; -__extension__ typedef unsigned long long int __uintmax_t; -#endif - - -/* The machine-dependent file 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_TYPE and __U_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 __WORDSIZE == 32 -# 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 -#elif __WORDSIZE == 64 -# 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 -# error -#endif -#include /* Defines __*_T_TYPE macros. */ -#include /* Defines __TIME*_T_TYPE macros. */ - - -__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 __TIMESIZE == 64 && defined __LIBC -# define __time64_t __time_t -#elif __TIMESIZE != 64 -__STD_TYPE __TIME64_T_TYPE __time64_t; -#endif - -#undef __STD_TYPE - -#endif /* bits/types.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob deleted file mode 100644 index 1257145..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h deleted file mode 100644 index f268263..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h +++ /dev/null @@ -1,9 +0,0 @@ -#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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob deleted file mode 100644 index 6914df7..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h deleted file mode 100644 index 06dd79b..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ____FILE_defined -#define ____FILE_defined 1 - -struct _IO_FILE; -typedef struct _IO_FILE __FILE; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h.blob deleted file mode 100644 index 5a3fe5d..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h deleted file mode 100644 index 06a6891..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _____fpos64_t_defined -#define _____fpos64_t_defined 1 - -#include -#include - -/* The tag name of this struct is _G_fpos64_t to preserve historic - C++ mangled names for functions taking fpos_t and/or fpos64_t - arguments. That name should not be used in new code. */ -typedef struct _G_fpos64_t -{ - __off64_t __pos; - __mbstate_t __state; -} __fpos64_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h.blob deleted file mode 100644 index 2326589..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos64_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h deleted file mode 100644 index bb04576..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _____fpos_t_defined -#define _____fpos_t_defined 1 - -#include -#include - -/* The tag name of this struct is _G_fpos_t to preserve historic - C++ mangled names for functions taking fpos_t arguments. - That name should not be used in new code. */ -typedef struct _G_fpos_t -{ - __off_t __pos; - __mbstate_t __state; -} __fpos_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h.blob deleted file mode 100644 index 9efadc6..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__fpos_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h deleted file mode 100644 index a578eae..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Definition of struct __locale_struct and __locale_t. - Copyright (C) 1997-2022 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 - . */ - -#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 */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h.blob deleted file mode 100644 index 9b7f128..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__locale_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h deleted file mode 100644 index 1d8a4e2..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h +++ /dev/null @@ -1,23 +0,0 @@ -#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 - -/* Conversion state information. */ -typedef struct -{ - int __count; - union - { - __WINT_TYPE__ __wch; - char __wchb[4]; - } __value; /* Value so far. */ -} __mbstate_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h.blob deleted file mode 100644 index 84431d7..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__mbstate_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h deleted file mode 100644 index e2f18ac..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h +++ /dev/null @@ -1,10 +0,0 @@ -#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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h.blob deleted file mode 100644 index 0cbe580..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@__sigset_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h deleted file mode 100644 index ce97248..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __clock_t_defined -#define __clock_t_defined 1 - -#include - -/* Returned by `clock'. */ -typedef __clock_t clock_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h.blob deleted file mode 100644 index 12ef7c1..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clock_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h deleted file mode 100644 index b17c7da..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __clockid_t_defined -#define __clockid_t_defined 1 - -#include - -/* Clock ID used in clock and timer functions. */ -typedef __clockid_t clockid_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h.blob deleted file mode 100644 index ecb5483..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@clockid_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h deleted file mode 100644 index dc59536..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -#ifndef __cookie_io_functions_t_defined -#define __cookie_io_functions_t_defined 1 - -#include - -/* Functions to do I/O and file management for a stream. */ - -/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF. - Return number of bytes read. */ -typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, - size_t __nbytes); - -/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes - unless there is an error. Return number of bytes written. If - there is an error, return 0 and do not write anything. If the file - has been opened for append (__mode.__append set), then set the file - pointer to the end of the file and then do the write; if not, just - write at the current file pointer. */ -typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, - size_t __nbytes); - -/* Move COOKIE's file position to *POS bytes from the - beginning of the file (if W is SEEK_SET), - the current position (if W is SEEK_CUR), - or the end of the file (if W is SEEK_END). - Set *POS to the new file position. - Returns zero if successful, nonzero if not. */ -typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); - -/* Close COOKIE. */ -typedef int cookie_close_function_t (void *__cookie); - -/* The structure with the cookie function pointers. - The tag name of this struct is _IO_cookie_io_functions_t to - preserve historic C++ mangled names for functions taking - cookie_io_functions_t arguments. That name should not be used in - new code. */ -typedef struct _IO_cookie_io_functions_t -{ - cookie_read_function_t *read; /* Read bytes. */ - cookie_write_function_t *write; /* Write bytes. */ - cookie_seek_function_t *seek; /* Seek/tell file position. */ - cookie_close_function_t *close; /* Close file. */ -} cookie_io_functions_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h.blob deleted file mode 100644 index 8030c52..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@cookie_io_functions_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h deleted file mode 100644 index 0ebc9f0..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Definition of locale_t. - Copyright (C) 2017-2022 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 - . */ - -#ifndef _BITS_TYPES_LOCALE_T_H -#define _BITS_TYPES_LOCALE_T_H 1 - -#include - -typedef __locale_t locale_t; - -#endif /* bits/types/locale_t.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h.blob deleted file mode 100644 index 2365a25..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@locale_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h deleted file mode 100644 index 8b27e91..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __sigset_t_defined -#define __sigset_t_defined 1 - -#include - -/* A set of signals to be blocked, unblocked, or waited for. */ -typedef __sigset_t sigset_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h.blob deleted file mode 100644 index f2c7051..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@sigset_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h deleted file mode 100644 index 1eb4298..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -#ifndef __struct_FILE_defined -#define __struct_FILE_defined 1 - -/* Caution: The contents of this file are not part of the official - stdio.h API. However, much of it is part of the official *binary* - interface, and therefore cannot be changed. */ - -#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC -# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself" -#endif - -#if defined _IO_lock_t_defined && !defined _LIBC -# error "_IO_lock_t_defined should only be defined when building libc itself" -#endif - -#include - -struct _IO_FILE; -struct _IO_marker; -struct _IO_codecvt; -struct _IO_wide_data; - -/* During the build of glibc itself, _IO_lock_t will already have been - defined by internal headers. */ -#ifndef _IO_lock_t_defined -typedef void _IO_lock_t; -#endif - -/* The tag name of this struct is _IO_FILE to preserve historic - C++ mangled names for functions taking FILE* arguments. - That name should not be used in new code. */ -struct _IO_FILE -{ - int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ - - /* The following pointers correspond to the C++ streambuf protocol. */ - char *_IO_read_ptr; /* Current read pointer */ - char *_IO_read_end; /* End of get area. */ - char *_IO_read_base; /* Start of putback+get area. */ - char *_IO_write_base; /* Start of put area. */ - char *_IO_write_ptr; /* Current put pointer. */ - char *_IO_write_end; /* End of put area. */ - char *_IO_buf_base; /* Start of reserve area. */ - char *_IO_buf_end; /* End of reserve area. */ - - /* The following fields are used to support backing up and undo. */ - char *_IO_save_base; /* Pointer to start of non-current get area. */ - char *_IO_backup_base; /* Pointer to first valid character of backup area */ - char *_IO_save_end; /* Pointer to end of non-current get area. */ - - struct _IO_marker *_markers; - - struct _IO_FILE *_chain; - - int _fileno; - int _flags2; - __off_t _old_offset; /* This used to be _offset but it's too small. */ - - /* 1+column number of pbase(); 0 is unknown. */ - unsigned short _cur_column; - signed char _vtable_offset; - char _shortbuf[1]; - - _IO_lock_t *_lock; -#ifdef _IO_USE_OLD_IO_FILE -}; - -struct _IO_FILE_complete -{ - struct _IO_FILE _file; -#endif - __off64_t _offset; - /* Wide character stream stuff. */ - struct _IO_codecvt *_codecvt; - struct _IO_wide_data *_wide_data; - struct _IO_FILE *_freeres_list; - void *_freeres_buf; - size_t __pad5; - int _mode; - /* Make sure we don't get into trouble again. */ - char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; -}; - -/* These macros are used by bits/stdio.h and internal headers. */ -#define __getc_unlocked_body(_fp) \ - (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \ - ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) - -#define __putc_unlocked_body(_ch, _fp) \ - (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ - ? __overflow (_fp, (unsigned char) (_ch)) \ - : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) - -#define _IO_EOF_SEEN 0x0010 -#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) - -#define _IO_ERR_SEEN 0x0020 -#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) - -#define _IO_USER_LOCK 0x8000 -/* Many more flag bits are defined internally. */ - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h.blob deleted file mode 100644 index 46b0175..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_FILE.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h deleted file mode 100644 index 17cc1ac..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef __itimerspec_defined -#define __itimerspec_defined 1 - -#include -#include - -/* POSIX.1b structure for timer start values and intervals. */ -struct itimerspec - { - struct timespec it_interval; - struct timespec it_value; - }; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h.blob deleted file mode 100644 index 1c8657c..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_itimerspec.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h deleted file mode 100644 index 489e811..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h +++ /dev/null @@ -1,33 +0,0 @@ -/* NB: Include guard matches what uses. */ -#ifndef _STRUCT_TIMESPEC -#define _STRUCT_TIMESPEC 1 - -#include -#include -#include - -/* 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 - __time_t tv_sec; /* Seconds. */ -#endif -#if __WORDSIZE == 64 \ - || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ - || (__TIMESIZE == 32 && !defined __USE_TIME_BITS64) - __syscall_slong_t tv_nsec; /* Nanoseconds. */ -#else -# if __BYTE_ORDER == __BIG_ENDIAN - int: 32; /* Padding. */ - long int tv_nsec; /* Nanoseconds. */ -# else - long int tv_nsec; /* Nanoseconds. */ - int: 32; /* Padding. */ -# endif -#endif -}; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h.blob deleted file mode 100644 index e240628..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timespec.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h deleted file mode 100644 index 3466137..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef __timeval_defined -#define __timeval_defined 1 - -#include - -/* 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 - __time_t tv_sec; /* Seconds. */ - __suseconds_t tv_usec; /* Microseconds. */ -#endif -}; -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h.blob deleted file mode 100644 index e5101a6..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_timeval.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h deleted file mode 100644 index b13b631..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __struct_tm_defined -#define __struct_tm_defined 1 - -#include - -/* 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 - long int __tm_gmtoff; /* Seconds east of UTC. */ - const char *__tm_zone; /* Timezone abbreviation. */ -# endif -}; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h.blob deleted file mode 100644 index 38ec2d1..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@struct_tm.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h deleted file mode 100644 index 84d67f6..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __time_t_defined -#define __time_t_defined 1 - -#include - -/* Returned by `time'. */ -#ifdef __USE_TIME_BITS64 -typedef __time64_t time_t; -#else -typedef __time_t time_t; -#endif - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h.blob deleted file mode 100644 index 3e8387c..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@time_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h deleted file mode 100644 index d71a413..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __timer_t_defined -#define __timer_t_defined 1 - -#include - -/* Timer ID returned by `timer_create'. */ -typedef __timer_t timer_t; - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h.blob deleted file mode 100644 index 3f5af81..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@types@timer_t.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h deleted file mode 100644 index 20e7023..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h +++ /dev/null @@ -1,106 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2022 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 - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See for the meaning of these macros. This file exists so - that need not vary across different GNU platforms. */ - -/* X32 kernel interface is 64-bit. */ -#if defined __x86_64__ && defined __ILP32__ -# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE -# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE -#else -# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#endif - -#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 -# define __NLINK_T_TYPE __UWORD_TYPE -# define __FSWORD_T_TYPE __SWORD_TYPE -#endif -#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 -# define __RLIM_T_MATCHES_RLIM64_T 0 - -# define __STATFS_MATCHES_STATFS64 0 - -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 -#endif - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h.blob deleted file mode 100644 index a0774de..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@typesizes.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h deleted file mode 100644 index 145a6d5..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2022 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 - . */ - -#if !defined _NETINET_IN_H && !defined _ENDIAN_H -# error "Never use directly; include or instead." -#endif - -#ifndef _BITS_UINTN_IDENTITY_H -#define _BITS_UINTN_IDENTITY_H 1 - -#include - -/* These inline functions are to ensure the appropriate type - conversions and associated diagnostics from macros that convert to - a given endianness. */ - -static __inline __uint16_t -__uint16_identity (__uint16_t __x) -{ - return __x; -} - -static __inline __uint32_t -__uint32_identity (__uint32_t __x) -{ - return __x; -} - -static __inline __uint64_t -__uint64_identity (__uint64_t __x) -{ - return __x; -} - -#endif /* _BITS_UINTN_IDENTITY_H. */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h.blob deleted file mode 100644 index f65d597..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@uintn-identity.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h deleted file mode 100644 index 3834d61..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2022 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 - . */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include directly; use instead." -#endif - - -/* Bits in the third argument to `waitpid'. */ -#define WNOHANG 1 /* Don't block waiting. */ -#define WUNTRACED 2 /* Report status of stopped children. */ - -/* Bits in the fourth argument to `waitid'. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ -# define WEXITED 4 /* Report dead child. */ -# define WCONTINUED 8 /* Report continued child. */ -# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ -#endif - -#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads - in this group */ -#define __WALL 0x40000000 /* Wait for any child. */ -#define __WCLONE 0x80000000 /* Wait for cloned process. */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h.blob deleted file mode 100644 index 57d7977..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitflags.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h deleted file mode 100644 index 6633531..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2022 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 - . */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include directly; use instead." -#endif - - -/* Everything extant so far uses these same bits. */ - - -/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ -#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) - -/* If WIFSIGNALED(STATUS), the terminating signal. */ -#define __WTERMSIG(status) ((status) & 0x7f) - -/* If WIFSTOPPED(STATUS), the signal that stopped the child. */ -#define __WSTOPSIG(status) __WEXITSTATUS(status) - -/* Nonzero if STATUS indicates normal termination. */ -#define __WIFEXITED(status) (__WTERMSIG(status) == 0) - -/* Nonzero if STATUS indicates termination by a signal. */ -#define __WIFSIGNALED(status) \ - (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) - -/* Nonzero if STATUS indicates the child is stopped. */ -#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) - -/* Nonzero if STATUS indicates the child continued after a stop. We only - define this if provides the WCONTINUED flag bit. */ -#ifdef WCONTINUED -# define __WIFCONTINUED(status) ((status) == __W_CONTINUED) -#endif - -/* Nonzero if STATUS indicates the child dumped core. */ -#define __WCOREDUMP(status) ((status) & __WCOREFLAG) - -/* Macros for constructing status values. */ -#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) -#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) -#define __W_CONTINUED 0xffff -#define __WCOREFLAG 0x80 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h.blob deleted file mode 100644 index d9912f6..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@waitstatus.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h deleted file mode 100644 index 70f652b..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#if defined __x86_64__ && !defined __ILP32__ -# define __WORDSIZE 64 -#else -# define __WORDSIZE 32 -#define __WORDSIZE32_SIZE_ULONG 0 -#define __WORDSIZE32_PTRDIFF_LONG 0 -#endif - -#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 -# define __WORDSIZE_TIME64_COMPAT32 0 -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob deleted file mode 100644 index 544187e..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@bits@wordsize.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h deleted file mode 100644 index c8d589d..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h +++ /dev/null @@ -1,111 +0,0 @@ -// -*- C++ -*- C library enhancements header. - -// Copyright (C) 2016-2022 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 -// . - -/** @file include/bits/std_abs.h - * This is an internal header file, included by other library headers. - * Do not attempt to use it directly. @headername{cmath, cstdlib} - */ - -#ifndef _GLIBCXX_BITS_STD_ABS_H -#define _GLIBCXX_BITS_STD_ABS_H - -#pragma GCC system_header - -#include - -#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include_next -#ifdef __CORRECT_ISO_CPP_MATH_H_PROTO -# include_next -#endif -#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - -#undef abs - -extern "C++" -{ -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - using ::abs; - -#ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO - inline long - abs(long __i) { return __builtin_labs(__i); } -#endif - -#ifdef _GLIBCXX_USE_LONG_LONG - inline long long - abs(long long __x) { return __builtin_llabs (__x); } -#endif - -// _GLIBCXX_RESOLVE_LIB_DEFECTS -// 2192. Validity and return type of std::abs(0u) is unclear -// 2294. should declare abs(double) -// 2735. std::abs(short), std::abs(signed char) and others should return int - -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO - inline _GLIBCXX_CONSTEXPR double - abs(double __x) - { return __builtin_fabs(__x); } - - inline _GLIBCXX_CONSTEXPR float - abs(float __x) - { return __builtin_fabsf(__x); } - - inline _GLIBCXX_CONSTEXPR long double - abs(long double __x) - { return __builtin_fabsl(__x); } -#endif - -#if defined(__GLIBCXX_TYPE_INT_N_0) - __extension__ inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0 - abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; } -#endif -#if defined(__GLIBCXX_TYPE_INT_N_1) - __extension__ inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_1 - abs(__GLIBCXX_TYPE_INT_N_1 __x) { return __x >= 0 ? __x : -__x; } -#endif -#if defined(__GLIBCXX_TYPE_INT_N_2) - __extension__ inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_2 - abs(__GLIBCXX_TYPE_INT_N_2 __x) { return __x >= 0 ? __x : -__x; } -#endif -#if defined(__GLIBCXX_TYPE_INT_N_3) - __extension__ inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_3 - abs(__GLIBCXX_TYPE_INT_N_3 __x) { return __x >= 0 ? __x : -__x; } -#endif - -#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) - __extension__ inline _GLIBCXX_CONSTEXPR - __float128 - abs(__float128 __x) - { return __x < 0 ? -__x : __x; } -#endif - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace -} // extern "C"++" - -#endif // _GLIBCXX_BITS_STD_ABS_H diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h.blob deleted file mode 100644 index 894124f..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@bits@std_abs.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib deleted file mode 100644 index 8a832af..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib +++ /dev/null @@ -1,261 +0,0 @@ -// -*- C++ -*- forwarding header. - -// Copyright (C) 1997-2022 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 -// . - -/** @file include/cstdlib - * 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 stdlib.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: 20.4.6 C library -// - -#pragma GCC system_header - -#include - -#ifndef _GLIBCXX_CSTDLIB -#define _GLIBCXX_CSTDLIB 1 - -#if !_GLIBCXX_HOSTED -// The C standard does not require a freestanding implementation to -// provide . However, the C++ standard does still require -// -- but only the functionality mentioned in -// [lib.support.start.term]. - -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 - -namespace std -{ - extern "C" void abort(void) throw () _GLIBCXX_NORETURN; - extern "C" int atexit(void (*)(void)) throw (); - extern "C" void exit(int) throw () _GLIBCXX_NORETURN; -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT - extern "C" int at_quick_exit(void (*)(void)) throw (); -# endif -# ifdef _GLIBCXX_HAVE_QUICK_EXIT - extern "C" void quick_exit(int) throw() _GLIBCXX_NORETURN; -# endif -#endif -} // namespace std - -#else - -// Need to ensure this finds the C library's not a libstdc++ -// wrapper that might already be installed later in the include search path. -#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include_next -#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include - -// Get rid of those macros defined in in lieu of real functions. -#undef abort -#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_ALIGNED_ALLOC) -# undef aligned_alloc -#endif -#undef atexit -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT -# undef at_quick_exit -# endif -#endif -#undef atof -#undef atoi -#undef atol -#undef bsearch -#undef calloc -#undef div -#undef exit -#undef free -#undef getenv -#undef labs -#undef ldiv -#undef malloc -#undef mblen -#undef mbstowcs -#undef mbtowc -#undef qsort -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_QUICK_EXIT -# undef quick_exit -# endif -#endif -#undef rand -#undef realloc -#undef srand -#undef strtod -#undef strtol -#undef strtoul -#undef system -#undef wcstombs -#undef wctomb - -extern "C++" -{ -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - using ::div_t; - using ::ldiv_t; - - using ::abort; -#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_ALIGNED_ALLOC) - using ::aligned_alloc; -#endif - using ::atexit; -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT - using ::at_quick_exit; -# endif -#endif - using ::atof; - using ::atoi; - using ::atol; - using ::bsearch; - using ::calloc; - using ::div; - using ::exit; - using ::free; - using ::getenv; - using ::labs; - using ::ldiv; - using ::malloc; -#ifdef _GLIBCXX_HAVE_MBSTATE_T - using ::mblen; - using ::mbstowcs; - using ::mbtowc; -#endif // _GLIBCXX_HAVE_MBSTATE_T - using ::qsort; -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_QUICK_EXIT - using ::quick_exit; -# endif -#endif - using ::rand; - using ::realloc; - using ::srand; - using ::strtod; - using ::strtol; - using ::strtoul; - using ::system; -#ifdef _GLIBCXX_USE_WCHAR_T - using ::wcstombs; - using ::wctomb; -#endif // _GLIBCXX_USE_WCHAR_T - -#ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO - inline ldiv_t - div(long __i, long __j) { return ldiv(__i, __j); } -#endif - - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - -#if _GLIBCXX_USE_C99_STDLIB - -#undef _Exit -#undef llabs -#undef lldiv -#undef atoll -#undef strtoll -#undef strtoull -#undef strtof -#undef strtold - -namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - -#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - using ::lldiv_t; -#endif -#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC - extern "C" void (_Exit)(int) throw () _GLIBCXX_NORETURN; -#endif -#if !_GLIBCXX_USE_C99_DYNAMIC - using ::_Exit; -#endif - -#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - using ::llabs; - - inline lldiv_t - div(long long __n, long long __d) - { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } - - using ::lldiv; -#endif - -#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - extern "C" long long int (atoll)(const char *) throw (); - extern "C" long long int - (strtoll)(const char * __restrict, char ** __restrict, int) throw (); - extern "C" unsigned long long int - (strtoull)(const char * __restrict, char ** __restrict, int) throw (); -#endif -#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - using ::atoll; - using ::strtoll; - using ::strtoull; -#endif - using ::strtof; - using ::strtold; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace __gnu_cxx - -namespace std -{ -#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - using ::__gnu_cxx::lldiv_t; -#endif - using ::__gnu_cxx::_Exit; -#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - using ::__gnu_cxx::llabs; - using ::__gnu_cxx::div; - using ::__gnu_cxx::lldiv; -#endif - using ::__gnu_cxx::atoll; - using ::__gnu_cxx::strtof; - using ::__gnu_cxx::strtoll; - using ::__gnu_cxx::strtoull; - using ::__gnu_cxx::strtold; -} // namespace std - -#endif // _GLIBCXX_USE_C99_STDLIB - -} // extern "C++" - -#endif // !_GLIBCXX_HOSTED - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib.blob deleted file mode 100644 index 0f1ea5e..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@cstdlib.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h deleted file mode 100644 index 377b910..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h +++ /dev/null @@ -1,86 +0,0 @@ -// -*- C++ -*- compatibility header. - -// Copyright (C) 2002-2022 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 -// . - -/** @file stdlib.h - * This is a Standard C++ Library header. - */ - -#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -# include_next -#else - -#ifndef _GLIBCXX_STDLIB_H -#define _GLIBCXX_STDLIB_H 1 - -# include - -using std::abort; -using std::atexit; -using std::exit; -#if __cplusplus >= 201103L -# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT - using std::at_quick_exit; -# endif -# ifdef _GLIBCXX_HAVE_QUICK_EXIT - using std::quick_exit; -# endif -#endif - -#if _GLIBCXX_HOSTED -using std::div_t; -using std::ldiv_t; - -using std::abs; -using std::atof; -using std::atoi; -using std::atol; -using std::bsearch; -using std::calloc; -using std::div; -using std::free; -using std::getenv; -using std::labs; -using std::ldiv; -using std::malloc; -#ifdef _GLIBCXX_HAVE_MBSTATE_T -using std::mblen; -using std::mbstowcs; -using std::mbtowc; -#endif // _GLIBCXX_HAVE_MBSTATE_T -using std::qsort; -using std::rand; -using std::realloc; -using std::srand; -using std::strtod; -using std::strtol; -using std::strtoul; -using std::system; -#ifdef _GLIBCXX_USE_WCHAR_T -using std::wcstombs; -using std::wctomb; -#endif // _GLIBCXX_USE_WCHAR_T -#endif - -#endif // _GLIBCXX_STDLIB_H -#endif // __cplusplus diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h.blob deleted file mode 100644 index 0fefaad..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@stdlib.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h deleted file mode 100644 index 0462f52..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h +++ /dev/null @@ -1,2235 +0,0 @@ -// Predefined symbols and macros -*- C++ -*- - -// Copyright (C) 1997-2022 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 -// . - -/** @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 12 - -// The datestamp of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20220819 - -// Macros for various attributes. -// _GLIBCXX_PURE -// _GLIBCXX_CONST -// _GLIBCXX_NORETURN -// _GLIBCXX_NOTHROW -// _GLIBCXX_VISIBILITY -#ifndef _GLIBCXX_PURE -# define _GLIBCXX_PURE __attribute__ ((__pure__)) -#endif - -#ifndef _GLIBCXX_CONST -# define _GLIBCXX_CONST __attribute__ ((__const__)) -#endif - -#ifndef _GLIBCXX_NORETURN -# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) -#endif - -// See below for C++ -#ifndef _GLIBCXX_NOTHROW -# ifndef __cplusplus -# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) -# endif -#endif - -// Macros for visibility attributes. -// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY -// _GLIBCXX_VISIBILITY -# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 - -#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY -# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) -#else -// 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 - -// 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( string-literal ) -// _GLIBCXX20_DEPRECATED_SUGGEST( string-literal ) -#ifndef _GLIBCXX_USE_DEPRECATED -# define _GLIBCXX_USE_DEPRECATED 1 -#endif - -#if defined(__DEPRECATED) -# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) -# define _GLIBCXX_DEPRECATED_SUGGEST(ALT) \ - __attribute__ ((__deprecated__ ("use '" ALT "' instead"))) -#else -# define _GLIBCXX_DEPRECATED -# define _GLIBCXX_DEPRECATED_SUGGEST(ALT) -#endif - -#if defined(__DEPRECATED) && (__cplusplus >= 201103L) -# define _GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED -# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) -#else -# define _GLIBCXX11_DEPRECATED -# define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) -#endif - -#if defined(__DEPRECATED) && (__cplusplus >= 201402L) -# define _GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED -# define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) -#else -# define _GLIBCXX14_DEPRECATED -# define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) -#endif - -#if defined(__DEPRECATED) && (__cplusplus >= 201703L) -# define _GLIBCXX17_DEPRECATED [[__deprecated__]] -# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) -#else -# define _GLIBCXX17_DEPRECATED -# define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) -#endif - -#if defined(__DEPRECATED) && (__cplusplus >= 202002L) -# define _GLIBCXX20_DEPRECATED(MSG) [[deprecated(MSG)]] -# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) -#else -# define _GLIBCXX20_DEPRECATED(MSG) -# define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) -#endif - -// Macros for ABI tag attributes. -#ifndef _GLIBCXX_ABI_TAG_CXX11 -# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) -#endif - -// Macro to warn about unused results. -#if __cplusplus >= 201703L -# define _GLIBCXX_NODISCARD [[__nodiscard__]] -#else -# define _GLIBCXX_NODISCARD -#endif - - - -#if __cplusplus - -// Macro for constexpr, to support in mixed 03/0x mode. -#ifndef _GLIBCXX_CONSTEXPR -# if __cplusplus >= 201103L -# define _GLIBCXX_CONSTEXPR constexpr -# define _GLIBCXX_USE_CONSTEXPR constexpr -# else -# define _GLIBCXX_CONSTEXPR -# define _GLIBCXX_USE_CONSTEXPR const -# endif -#endif - -#ifndef _GLIBCXX14_CONSTEXPR -# if __cplusplus >= 201402L -# define _GLIBCXX14_CONSTEXPR constexpr -# else -# define _GLIBCXX14_CONSTEXPR -# endif -#endif - -#ifndef _GLIBCXX17_CONSTEXPR -# if __cplusplus >= 201703L -# define _GLIBCXX17_CONSTEXPR constexpr -# else -# define _GLIBCXX17_CONSTEXPR -# endif -#endif - -#ifndef _GLIBCXX20_CONSTEXPR -# if __cplusplus >= 202002L -# define _GLIBCXX20_CONSTEXPR constexpr -# else -# define _GLIBCXX20_CONSTEXPR -# endif -#endif - -#ifndef _GLIBCXX23_CONSTEXPR -# if __cplusplus >= 202100L -# define _GLIBCXX23_CONSTEXPR constexpr -# else -# define _GLIBCXX23_CONSTEXPR -# endif -#endif - -#ifndef _GLIBCXX17_INLINE -# if __cplusplus >= 201703L -# define _GLIBCXX17_INLINE inline -# else -# define _GLIBCXX17_INLINE -# endif -#endif - -// Macro for noexcept, to support in mixed 03/0x mode. -#ifndef _GLIBCXX_NOEXCEPT -# if __cplusplus >= 201103L -# define _GLIBCXX_NOEXCEPT noexcept -# define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__) -# define _GLIBCXX_USE_NOEXCEPT noexcept -# define _GLIBCXX_THROW(_EXC) -# else -# define _GLIBCXX_NOEXCEPT -# define _GLIBCXX_NOEXCEPT_IF(...) -# define _GLIBCXX_USE_NOEXCEPT throw() -# define _GLIBCXX_THROW(_EXC) throw(_EXC) -# endif -#endif - -#ifndef _GLIBCXX_NOTHROW -# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT -#endif - -#ifndef _GLIBCXX_THROW_OR_ABORT -# if __cpp_exceptions -# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) -# else -# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) -# endif -#endif - -#if __cpp_noexcept_function_type -#define _GLIBCXX_NOEXCEPT_PARM , bool _NE -#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) -#else -#define _GLIBCXX_NOEXCEPT_PARM -#define _GLIBCXX_NOEXCEPT_QUAL -#endif - -// 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 __cplusplus >= 201103L - typedef decltype(nullptr) nullptr_t; -#endif - -#pragma GCC visibility push(default) - // This allows the library to terminate without including all of - // 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 ! _GLIBCXX_USE_DUAL_ABI -// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI -# undef _GLIBCXX_USE_CXX11_ABI -#endif - -#ifndef _GLIBCXX_USE_CXX11_ABI -# define _GLIBCXX_USE_CXX11_ABI 1 -#endif - -#if _GLIBCXX_USE_CXX11_ABI -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 -# define _GLIBCXX_NAMESPACE_CXX11 -# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 -# define _GLIBCXX_END_NAMESPACE_CXX11 -# define _GLIBCXX_DEFAULT_ABI_TAG -#endif - -// Defined if inline namespaces are used for versioning. -# define _GLIBCXX_INLINE_VERSION 0 - -// Inline namespace for symbol versioning. -#if _GLIBCXX_INLINE_VERSION -# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { -# define _GLIBCXX_END_NAMESPACE_VERSION } - -namespace std -{ -inline _GLIBCXX_BEGIN_NAMESPACE_VERSION -#if __cplusplus >= 201402L - inline namespace literals { - inline namespace chrono_literals { } - inline namespace complex_literals { } - inline namespace string_literals { } -#if __cplusplus > 201402L - inline namespace string_view_literals { } -#endif // C++17 - } -#endif // C++14 -_GLIBCXX_END_NAMESPACE_VERSION -} - -namespace __gnu_cxx -{ -inline _GLIBCXX_BEGIN_NAMESPACE_VERSION -_GLIBCXX_END_NAMESPACE_VERSION -} - -#else -# define _GLIBCXX_BEGIN_NAMESPACE_VERSION -# define _GLIBCXX_END_NAMESPACE_VERSION -#endif - -// Inline namespaces for special modes: debug, parallel. -#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) -namespace std -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - // Non-inline namespace for components replaced by alternates in active mode. - namespace __cxx1998 - { -# if _GLIBCXX_USE_CXX11_ABI - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -# endif - } - -_GLIBCXX_END_NAMESPACE_VERSION - - // Inline namespace for debug mode. -# ifdef _GLIBCXX_DEBUG - inline namespace __debug { } -# endif - - // Inline namespaces for parallel mode. -# ifdef _GLIBCXX_PARALLEL - inline namespace __parallel { } -# endif -} - -// Check for invalid usage and unsupported mixed-mode use. -# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) -# error illegal use of multiple inlined namespaces -# endif - -// Check for invalid use due to lack for weak symbols. -# if __NO_INLINE__ && !__GXX_WEAK__ -# warning currently using inlined namespace mode which may fail \ - without inlining due to lack of weak symbols -# endif -#endif - -// 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 defined(_GLIBCXX_DEBUG) -# define _GLIBCXX_STD_C __cxx1998 -# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ - namespace _GLIBCXX_STD_C { -# define _GLIBCXX_END_NAMESPACE_CONTAINER } -#else -# define _GLIBCXX_STD_C std -# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER -# define _GLIBCXX_END_NAMESPACE_CONTAINER -#endif - -#ifdef _GLIBCXX_PARALLEL -# define _GLIBCXX_STD_A __cxx1998 -# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ - namespace _GLIBCXX_STD_A { -# define _GLIBCXX_END_NAMESPACE_ALGO } -#else -# define _GLIBCXX_STD_A std -# define _GLIBCXX_BEGIN_NAMESPACE_ALGO -# define _GLIBCXX_END_NAMESPACE_ALGO -#endif - -// 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 - -// Inline namespaces for long double 128 modes. -#if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ - && defined __LONG_DOUBLE_IEEE128__ -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 - -#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ -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 -# define _GLIBCXX_NAMESPACE_LDBL -# define _GLIBCXX_BEGIN_NAMESPACE_LDBL -# define _GLIBCXX_END_NAMESPACE_LDBL -#endif - -#if _GLIBCXX_USE_CXX11_ABI -# 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 -# 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 - -#endif // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128 - -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 __cpp_if_consteval >= 202106L -# define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 - if consteval { return true; } else { return false; } -#elif __cplusplus >= 201103L && __has_builtin(__builtin_is_constant_evaluated) -# define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 - return __builtin_is_constant_evaluated(); -#else - return false; -#endif - } -#pragma GCC visibility pop -} - -// Debug Mode implies checking assertions. -#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) -# define _GLIBCXX_ASSERTIONS 1 -#endif - -// Disable std::string explicit instantiation declarations in order to assert. -#ifdef _GLIBCXX_ASSERTIONS -# undef _GLIBCXX_EXTERN_TEMPLATE -# define _GLIBCXX_EXTERN_TEMPLATE -1 -#endif - - -#if _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED -# define __glibcxx_constexpr_assert(cond) \ - if (std::__is_constant_evaluated() && !bool(cond)) \ - __builtin_unreachable() /* precondition violation detected! */ -#else -# define __glibcxx_constexpr_assert(unevaluated) -#endif - -#define _GLIBCXX_VERBOSE_ASSERT 1 - -// Assert. -#if defined(_GLIBCXX_ASSERTIONS) \ - || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) -# ifdef _GLIBCXX_VERBOSE_ASSERT -namespace std -{ -#pragma GCC visibility push(default) - // Avoid the use of assert, because we're trying to keep the - // 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 -# define __glibcxx_assert_impl(_Condition) \ - if (__builtin_expect(!bool(_Condition), false)) \ - { \ - __glibcxx_constexpr_assert(false); \ - __builtin_abort(); \ - } -# endif -#endif - -#if defined(_GLIBCXX_ASSERTIONS) -# define __glibcxx_assert(cond) \ - do { __glibcxx_assert_impl(cond); } while (false) -#else -# define __glibcxx_assert(cond) \ - do { __glibcxx_constexpr_assert(cond); } while (false) -#endif - -// Macro indicating that TSAN is in use. -#if __SANITIZE_THREAD__ -# define _GLIBCXX_TSAN 1 -#elif defined __has_feature -# if __has_feature(thread_sanitizer) -# define _GLIBCXX_TSAN 1 -# endif -#endif - -// 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 -#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER -# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) -#endif - -// 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 ! defined __GLIBCXX_TYPE_INT_N_0 && ! defined __STRICT_ANSI__ -// 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 -#endif - -#else // !__cplusplus -# define _GLIBCXX_BEGIN_EXTERN_C -# define _GLIBCXX_END_EXTERN_C -#endif - - -// First includes. - -// Pick up any OS-specific definitions. -#include - -// Pick up any CPU-specific definitions. -#include - -// 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 - -// 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 - -// 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 - -// 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 __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 -#define _GLIBCXX_TXN_SAFE transaction_safe -#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic -#else -#define _GLIBCXX_TXN_SAFE -#define _GLIBCXX_TXN_SAFE_DYN -#endif - -#if __cplusplus > 201402L -// In C++17 mathematical special functions are in namespace std. -# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 -#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 -// For C++11 and C++14 they are in namespace std when requested. -# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 -#endif - -// 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 -# define _GLIBCXX_FAST_MATH 0 -#endif - -// 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, 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 __cplusplus >= 201103L -# ifndef _GLIBCXX_USE_C99_MATH -# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH -# endif -# ifndef _GLIBCXX_USE_C99_COMPLEX -# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX -# endif -# ifndef _GLIBCXX_USE_C99_STDIO -# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO -# endif -# ifndef _GLIBCXX_USE_C99_STDLIB -# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB -# endif -# ifndef _GLIBCXX_USE_C99_WCHAR -# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR -# endif -#else -# ifndef _GLIBCXX_USE_C99_MATH -# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH -# endif -# ifndef _GLIBCXX_USE_C99_COMPLEX -# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX -# endif -# ifndef _GLIBCXX_USE_C99_STDIO -# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO -# endif -# ifndef _GLIBCXX_USE_C99_STDLIB -# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB -# endif -# ifndef _GLIBCXX_USE_C99_WCHAR -# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR -# endif -#endif - -// 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 -#endif -#ifdef _GLIBCXX_USE_CHAR8_T -# define __cpp_lib_char8_t 201907L -#endif - -/* Define if __float128 is supported on this host. */ -#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) -/* For powerpc64 don't use __float128 when it's the same type as long double. */ -# if !(defined(_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT) && defined(__LONG_DOUBLE_IEEE128__)) -# define _GLIBCXX_USE_FLOAT128 1 -# endif -#endif - -// Define if float has the IEEE binary32 format. -#if __FLT_MANT_DIG__ == 24 \ - && __FLT_MIN_EXP__ == -125 \ - && __FLT_MAX_EXP__ == 128 -# define _GLIBCXX_FLOAT_IS_IEEE_BINARY32 1 -#endif - -// Define if double has the IEEE binary64 format. -#if __DBL_MANT_DIG__ == 53 \ - && __DBL_MIN_EXP__ == -1021 \ - && __DBL_MAX_EXP__ == 1024 -# define _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1 -#endif - -#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 -# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) -# endif -#endif - -#if _GLIBCXX_HAS_BUILTIN(__has_unique_object_representations) -# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 -#endif - -#if _GLIBCXX_HAS_BUILTIN(__is_aggregate) -# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 -#endif - -#if _GLIBCXX_HAS_BUILTIN(__is_same) -# define _GLIBCXX_HAVE_BUILTIN_IS_SAME 1 -#endif - -#if _GLIBCXX_HAS_BUILTIN(__builtin_launder) -# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 -#endif - -#undef _GLIBCXX_HAS_BUILTIN - -// PSTL configuration - -#if __cplusplus >= 201703L -// This header is not installed for freestanding: -#if __has_include() -// 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() -# endif -// This section will need some rework when a new (default) backend type is added -# if _GLIBCXX_USE_TBB_PAR_BACKEND -# define _PSTL_PAR_BACKEND_TBB -# else -# define _PSTL_PAR_BACKEND_SERIAL -# endif - -# define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) -# define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) - -#include -#endif // __has_include -#endif // C++17 - -// 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 . */ -#define _GLIBCXX_HAVE_ARC4RANDOM 1 - -/* Define to 1 if you have the 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 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 header file. */ -#define _GLIBCXX_HAVE_DIRENT_H 1 - -/* Define if dirfd is available in . */ -#define _GLIBCXX_HAVE_DIRFD 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_DLFCN_H 1 - -/* Define to 1 if you have the 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 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 header file. */ -#define _GLIBCXX_HAVE_FCNTL_H 1 - -/* Define if fdopendir is available in . */ -#define _GLIBCXX_HAVE_FDOPENDIR 1 - -/* Define to 1 if you have the 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 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 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 . */ -#define _GLIBCXX_HAVE_GETENTROPY 1 - -/* Define if _Unwind_GetIPInfo is available. */ -#define _GLIBCXX_HAVE_GETIPINFO 1 - -/* Define if gets is available in 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 header file. */ -/* #undef _GLIBCXX_HAVE_IEEEFP_H */ - -/* Define to 1 if you have the 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 . */ -#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 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 . */ -#define _GLIBCXX_HAVE_LINK 1 - -/* Define to 1 if you have the 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 header file. */ -#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_LINUX_TYPES_H 1 - -/* Define to 1 if you have the 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 header file. */ -/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */ - -/* Define to 1 if you have the 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 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 header file. */ -/* #undef _GLIBCXX_HAVE_NAN_H */ - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_NETDB_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_NETINET_IN_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_NETINET_TCP_H 1 - -/* Define if defines obsolete isinf function. */ -/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */ - -/* Define if defines obsolete isnan function. */ -/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */ - -/* Define if openat is available in . */ -#define _GLIBCXX_HAVE_OPENAT 1 - -/* Define if poll is available in . */ -#define _GLIBCXX_HAVE_POLL 1 - -/* Define to 1 if you have the 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 - . */ -#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 . */ -#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 header is supported. */ -#define _GLIBCXX_HAVE_STACKTRACE 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_STDALIGN_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_STDLIB_H 1 - -/* Define if strerror_l is available in . */ -#define _GLIBCXX_HAVE_STRERROR_L 1 - -/* Define if strerror_r is available in . */ -#define _GLIBCXX_HAVE_STRERROR_R 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_STRINGS_H 1 - -/* Define to 1 if you have the 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 . */ -#define _GLIBCXX_HAVE_STRXFRM_L 1 - -/* Define if symlink is available in . */ -#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 header file. */ -/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_IPC_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ - -/* Define to 1 if you have the header file. */ -/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_MMAN_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_PARAM_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have a suitable header file */ -#define _GLIBCXX_HAVE_SYS_SDT_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_SEM_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_STATVFS_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_SYS_UIO_H 1 - -/* Define if S_IFREG is available in . */ -/* #undef _GLIBCXX_HAVE_S_IFREG */ - -/* Define if S_ISREG is available in . */ -#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 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 . */ -#define _GLIBCXX_HAVE_TRUNCATE 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_UCHAR_H 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_UNISTD_H 1 - -/* Define if unlinkat is available in . */ -#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 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 header file. */ -#define _GLIBCXX_HAVE_WCHAR_H 1 - -/* Defined if wcstof exists. */ -#define _GLIBCXX_HAVE_WCSTOF 1 - -/* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_WCTYPE_H 1 - -/* Defined if Sleep exists. */ -/* #undef _GLIBCXX_HAVE_WIN32_SLEEP */ - -/* Define if writev is available in . */ -#define _GLIBCXX_HAVE_WRITEV 1 - -/* Define to 1 if you have the 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" - -/* The size of `char', as computed by sizeof. */ -/* #undef SIZEOF_CHAR */ - -/* The size of `int', as computed by sizeof. */ -/* #undef SIZEOF_INT */ - -/* The size of `long', as computed by sizeof. */ -/* #undef SIZEOF_LONG */ - -/* The size of `short', as computed by sizeof. */ -/* #undef SIZEOF_SHORT */ - -/* The size of `void *', as computed by sizeof. */ -/* #undef SIZEOF_VOID_P */ - -/* 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 - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef _GLIBCXX_FILE_OFFSET_BITS */ - -/* Define if C99 functions in should be used in 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 should be imported in - in namespace std for C++11. */ -#define _GLIBCXX11_USE_C99_MATH 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std for C++11. */ -#define _GLIBCXX11_USE_C99_STDIO 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std for C++11. */ -#define _GLIBCXX11_USE_C99_STDLIB 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std for C++11. */ -#define _GLIBCXX11_USE_C99_WCHAR 1 - -/* Define if C99 functions in should be used in 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 should be imported in - in namespace std for C++98. */ -#define _GLIBCXX98_USE_C99_MATH 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std for C++98. */ -#define _GLIBCXX98_USE_C99_STDIO 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std for C++98. */ -#define _GLIBCXX98_USE_C99_STDLIB 1 - -/* Define if C99 functions or macros in should be imported in - 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 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 1 - -/* 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 . */ -/* #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 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 should be imported into namespace std - in . */ -#define _GLIBCXX_USE_C11_UCHAR_CXX11 1 - -/* Define if C99 functions or macros from , , , - , and can be used or exposed. */ -#define _GLIBCXX_USE_C99 1 - -/* Define if C99 functions in should be used in . - 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 should be imported in in - namespace std::tr1. */ -#define _GLIBCXX_USE_C99_CTYPE_TR1 1 - -/* Define if C99 functions in should be imported in in - namespace std::tr1. */ -#define _GLIBCXX_USE_C99_FENV_TR1 1 - -/* Define if C99 functions in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 - -/* Define if wchar_t C99 functions in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_MATH_TR1 1 - -/* Define if C99 types in should be imported in in - namespace std::tr1. */ -#define _GLIBCXX_USE_C99_STDINT_TR1 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 . */ -#define _GLIBCXX_USE_FCHMOD 1 - -/* Define if fchmodat is available in . */ -#define _GLIBCXX_USE_FCHMODAT 1 - -/* Defined if gettimeofday is available. */ -#define _GLIBCXX_USE_GETTIMEOFDAY 1 - -/* Define if get_nprocs is available in . */ -#define _GLIBCXX_USE_GET_NPROCS 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 . */ -#define _GLIBCXX_USE_LSTAT 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 . */ -/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */ - -/* Define if pthread_cond_clockwait is available in . */ -#define _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1 - -/* Define if pthread_mutex_clocklock is available in . */ -#define _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK 1 - -/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are - available in . */ -#define _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1 - -/* Define if POSIX read/write locks are available in . */ -#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 . */ -#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 . */ -#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 - -/* Define if _SC_NPROC_ONLN is available in . */ -/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */ - -/* Define if sendfile is available in . */ -#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 . */ -/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ - -/* Define if obsolescent tmpnam is available in . */ -#define _GLIBCXX_USE_TMPNAM 1 - -/* Define if c8rtomb and mbrtoc8 functions in should be imported - into namespace std in for C++20. */ -#define _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1 - -/* Define if c8rtomb and mbrtoc8 functions in should be imported - into namespace std in for -fchar8_t. */ -#define _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1 - -/* Define if utime is available in . */ -#define _GLIBCXX_USE_UTIME 1 - -/* Define if utimensat and UTIME_OMIT are available in and - AT_FDCWD in . */ -#define _GLIBCXX_USE_UTIMENSAT 1 - -/* Define if code specialized for wchar_t should be used. */ -#define _GLIBCXX_USE_WCHAR_T 1 - -/* 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 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 . */ -#if __cplusplus >= 201103L -/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */ -#endif - -/* Define if all C++11 integral type overloads are available in . */ -#if __cplusplus >= 201103L -/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */ -#endif - -#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) -# define _GLIBCXX_HAVE_ACOSF 1 -# define acosf _acosf -#endif - -#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) -# define _GLIBCXX_HAVE_ACOSL 1 -# define acosl _acosl -#endif - -#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) -# define _GLIBCXX_HAVE_ASINF 1 -# define asinf _asinf -#endif - -#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) -# define _GLIBCXX_HAVE_ASINL 1 -# define asinl _asinl -#endif - -#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) -# define _GLIBCXX_HAVE_ATAN2F 1 -# define atan2f _atan2f -#endif - -#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) -# define _GLIBCXX_HAVE_ATAN2L 1 -# define atan2l _atan2l -#endif - -#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) -# define _GLIBCXX_HAVE_ATANF 1 -# define atanf _atanf -#endif - -#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) -# define _GLIBCXX_HAVE_ATANL 1 -# define atanl _atanl -#endif - -#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) -# define _GLIBCXX_HAVE_CEILF 1 -# define ceilf _ceilf -#endif - -#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) -# define _GLIBCXX_HAVE_CEILL 1 -# define ceill _ceill -#endif - -#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) -# define _GLIBCXX_HAVE_COSF 1 -# define cosf _cosf -#endif - -#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) -# define _GLIBCXX_HAVE_COSHF 1 -# define coshf _coshf -#endif - -#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) -# define _GLIBCXX_HAVE_COSHL 1 -# define coshl _coshl -#endif - -#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) -# define _GLIBCXX_HAVE_COSL 1 -# define cosl _cosl -#endif - -#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) -# define _GLIBCXX_HAVE_EXPF 1 -# define expf _expf -#endif - -#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) -# define _GLIBCXX_HAVE_EXPL 1 -# define expl _expl -#endif - -#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) -# define _GLIBCXX_HAVE_FABSF 1 -# define fabsf _fabsf -#endif - -#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) -# define _GLIBCXX_HAVE_FABSL 1 -# define fabsl _fabsl -#endif - -#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) -# define _GLIBCXX_HAVE_FINITE 1 -# define finite _finite -#endif - -#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) -# define _GLIBCXX_HAVE_FINITEF 1 -# define finitef _finitef -#endif - -#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) -# define _GLIBCXX_HAVE_FINITEL 1 -# define finitel _finitel -#endif - -#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) -# define _GLIBCXX_HAVE_FLOORF 1 -# define floorf _floorf -#endif - -#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) -# define _GLIBCXX_HAVE_FLOORL 1 -# define floorl _floorl -#endif - -#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) -# define _GLIBCXX_HAVE_FMODF 1 -# define fmodf _fmodf -#endif - -#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) -# define _GLIBCXX_HAVE_FMODL 1 -# define fmodl _fmodl -#endif - -#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) -# define _GLIBCXX_HAVE_FPCLASS 1 -# define fpclass _fpclass -#endif - -#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) -# define _GLIBCXX_HAVE_FREXPF 1 -# define frexpf _frexpf -#endif - -#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) -# define _GLIBCXX_HAVE_FREXPL 1 -# define frexpl _frexpl -#endif - -#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) -# define _GLIBCXX_HAVE_HYPOT 1 -# define hypot _hypot -#endif - -#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) -# define _GLIBCXX_HAVE_HYPOTF 1 -# define hypotf _hypotf -#endif - -#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) -# define _GLIBCXX_HAVE_HYPOTL 1 -# define hypotl _hypotl -#endif - -#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) -# define _GLIBCXX_HAVE_ISINF 1 -# define isinf _isinf -#endif - -#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) -# define _GLIBCXX_HAVE_ISINFF 1 -# define isinff _isinff -#endif - -#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) -# define _GLIBCXX_HAVE_ISINFL 1 -# define isinfl _isinfl -#endif - -#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) -# define _GLIBCXX_HAVE_ISNAN 1 -# define isnan _isnan -#endif - -#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) -# define _GLIBCXX_HAVE_ISNANF 1 -# define isnanf _isnanf -#endif - -#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) -# define _GLIBCXX_HAVE_ISNANL 1 -# define isnanl _isnanl -#endif - -#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) -# define _GLIBCXX_HAVE_LDEXPF 1 -# define ldexpf _ldexpf -#endif - -#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) -# define _GLIBCXX_HAVE_LDEXPL 1 -# define ldexpl _ldexpl -#endif - -#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) -# define _GLIBCXX_HAVE_LOG10F 1 -# define log10f _log10f -#endif - -#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) -# define _GLIBCXX_HAVE_LOG10L 1 -# define log10l _log10l -#endif - -#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) -# define _GLIBCXX_HAVE_LOGF 1 -# define logf _logf -#endif - -#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) -# define _GLIBCXX_HAVE_LOGL 1 -# define logl _logl -#endif - -#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) -# define _GLIBCXX_HAVE_MODF 1 -# define modf _modf -#endif - -#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) -# define _GLIBCXX_HAVE_MODFF 1 -# define modff _modff -#endif - -#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) -# define _GLIBCXX_HAVE_MODFL 1 -# define modfl _modfl -#endif - -#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) -# define _GLIBCXX_HAVE_POWF 1 -# define powf _powf -#endif - -#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) -# define _GLIBCXX_HAVE_POWL 1 -# define powl _powl -#endif - -#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) -# define _GLIBCXX_HAVE_QFPCLASS 1 -# define qfpclass _qfpclass -#endif - -#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) -# define _GLIBCXX_HAVE_SINCOS 1 -# define sincos _sincos -#endif - -#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) -# define _GLIBCXX_HAVE_SINCOSF 1 -# define sincosf _sincosf -#endif - -#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) -# define _GLIBCXX_HAVE_SINCOSL 1 -# define sincosl _sincosl -#endif - -#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) -# define _GLIBCXX_HAVE_SINF 1 -# define sinf _sinf -#endif - -#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) -# define _GLIBCXX_HAVE_SINHF 1 -# define sinhf _sinhf -#endif - -#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) -# define _GLIBCXX_HAVE_SINHL 1 -# define sinhl _sinhl -#endif - -#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) -# define _GLIBCXX_HAVE_SINL 1 -# define sinl _sinl -#endif - -#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) -# define _GLIBCXX_HAVE_SQRTF 1 -# define sqrtf _sqrtf -#endif - -#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) -# define _GLIBCXX_HAVE_SQRTL 1 -# define sqrtl _sqrtl -#endif - -#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) -# define _GLIBCXX_HAVE_STRTOF 1 -# define strtof _strtof -#endif - -#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) -# define _GLIBCXX_HAVE_STRTOLD 1 -# define strtold _strtold -#endif - -#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) -# define _GLIBCXX_HAVE_TANF 1 -# define tanf _tanf -#endif - -#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) -# define _GLIBCXX_HAVE_TANHF 1 -# define tanhf _tanhf -#endif - -#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) -# define _GLIBCXX_HAVE_TANHL 1 -# define tanhl _tanhl -#endif - -#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) -# define _GLIBCXX_HAVE_TANL 1 -# define tanl _tanl -#endif - -#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h.blob deleted file mode 100644 index ed93471..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@c++config.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h deleted file mode 100644 index 31cfe23..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h +++ /dev/null @@ -1,33 +0,0 @@ -// Specific definitions for generic platforms -*- C++ -*- - -// Copyright (C) 2005-2022 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 -// . - -/** @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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h.blob deleted file mode 100644 index 3d68a20..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@cpu_defines.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h deleted file mode 100644 index c0caa21..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h +++ /dev/null @@ -1,70 +0,0 @@ -// Specific definitions for GNU/Linux -*- C++ -*- - -// Copyright (C) 2000-2022 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 -// . - -/** @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 - -#include - -// 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 __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE) -# undef _GLIBCXX_HAVE_GETS -#endif - -// 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) - -#if __GLIBC_PREREQ(2, 27) -// Since glibc 2.27 pthread_self() is usable without linking to libpthread. -# define _GLIBCXX_NATIVE_THREAD_ID pthread_self() -#else -// 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 - -#if __GLIBC_PREREQ(2, 34) -// Since glibc 2.34 all pthreads functions are usable without linking to -// libpthread. -# define _GLIBCXX_GTHREAD_USE_WEAK 0 -#endif - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h.blob deleted file mode 100644 index 7ac0abc..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@c++@12.2.0@x86_64-pc-linux-gnu@bits@os_defines.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h deleted file mode 100644 index eee1dcc..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h +++ /dev/null @@ -1,329 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -/* - * ISO C99 Standard 7.4: Character handling - */ - -#ifndef _CTYPE_H -#define _CTYPE_H 1 - -#include -#include - -__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. */ - -# include -# if __BYTE_ORDER == __BIG_ENDIAN -# define _ISbit(bit) (1 << (bit)) -# else /* __BYTE_ORDER == __LITTLE_ENDIAN */ -# define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) -# endif - -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 */ - -/* 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 ) - 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) -#elif defined __USE_EXTERN_INLINES -# define __isctype_f(type) \ - __extern_inline int \ - is##type (int __c) __THROW \ - { \ - return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \ - } -#endif - -#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 - -#ifdef __USE_GNU -/* Test C for a set of character classes according to MASK. */ -extern int isctype (int __c, int __mask) __THROW; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN - -/* 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. */ - -/* 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 !defined __NO_CTYPE -# 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 -# elif defined __isctype -# 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 -# endif - -# 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 - -# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus -# define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c)) -# define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c)) -# endif /* Optimizing gcc */ - -# if defined __USE_MISC || defined __USE_XOPEN -# 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 - -#endif /* Not __NO_CTYPE. */ - - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* 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 __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus -# 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 */ - - -# 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 - -# 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 - -# endif /* Not __NO_CTYPE. */ - -#endif /* Use POSIX 2008. */ - -__END_DECLS - -#endif /* ctype.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h.blob deleted file mode 100644 index 91092a7..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@ctype.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h deleted file mode 100644 index f919846..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (C) 1992-2022 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 - . */ - -#ifndef _ENDIAN_H -#define _ENDIAN_H 1 - -#include - -/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */ -#include - -#ifdef __USE_MISC -# define LITTLE_ENDIAN __LITTLE_ENDIAN -# define BIG_ENDIAN __BIG_ENDIAN -# define PDP_ENDIAN __PDP_ENDIAN -# define BYTE_ORDER __BYTE_ORDER -#endif - -#if defined __USE_MISC && !defined __ASSEMBLER__ -/* Conversion interfaces. */ -# include -# include - -# if __BYTE_ORDER == __LITTLE_ENDIAN -# define htobe16(x) __bswap_16 (x) -# define htole16(x) __uint16_identity (x) -# define be16toh(x) __bswap_16 (x) -# define le16toh(x) __uint16_identity (x) - -# define htobe32(x) __bswap_32 (x) -# define htole32(x) __uint32_identity (x) -# define be32toh(x) __bswap_32 (x) -# define le32toh(x) __uint32_identity (x) - -# define htobe64(x) __bswap_64 (x) -# define htole64(x) __uint64_identity (x) -# define be64toh(x) __bswap_64 (x) -# define le64toh(x) __uint64_identity (x) - -# else -# define htobe16(x) __uint16_identity (x) -# define htole16(x) __bswap_16 (x) -# define be16toh(x) __uint16_identity (x) -# define le16toh(x) __bswap_16 (x) - -# define htobe32(x) __uint32_identity (x) -# define htole32(x) __bswap_32 (x) -# define be32toh(x) __uint32_identity (x) -# define le32toh(x) __bswap_32 (x) - -# define htobe64(x) __uint64_identity (x) -# define htole64(x) __bswap_64 (x) -# define be64toh(x) __uint64_identity (x) -# define le64toh(x) __bswap_64 (x) -# endif -#endif - -#endif /* endian.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h.blob deleted file mode 100644 index 69d8b64..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@endian.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h deleted file mode 100644 index 84d56ee..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Features part to handle 64-bit time_t support. - Copyright (C) 2021-2022 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 - . */ - -/* We need to know the word size in order to check the time size. */ -#include -#include - -#if defined _TIME_BITS -# if _TIME_BITS == 64 -# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 -# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" -# elif __TIMESIZE == 32 -# define __USE_TIME_BITS64 1 -# endif -# elif _TIME_BITS == 32 -# if __TIMESIZE > 32 -# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" -# endif -# else -# error Invalid _TIME_BITS value (can only be 32 or 64-bit) -# endif -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob deleted file mode 100644 index 0ce1f02..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features-time64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h deleted file mode 100644 index 123de9f..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h +++ /dev/null @@ -1,517 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -#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 or 2; 2 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 - , 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 - -/* Suppress kernel-name space pollution unless user expressedly asks - for it. */ -#ifndef _LOOSE_KERNEL_NAMES -# define __KERNEL_STRICT_NAMES -#endif - -/* 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 defined __GNUC__ && defined __GNUC_MINOR__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -#else -# define __GNUC_PREREQ(maj, min) 0 -#endif - -/* 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 defined __clang_major__ && defined __clang_minor__ -# define __glibc_clang_prereq(maj, min) \ - ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) -#else -# define __glibc_clang_prereq(maj, min) 0 -#endif - -/* 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 (defined _BSD_SOURCE || defined _SVID_SOURCE) \ - && !defined _DEFAULT_SOURCE -# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" -# undef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE 1 -#endif - -/* 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 - -/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, - define _DEFAULT_SOURCE. */ -#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)) -# undef _DEFAULT_SOURCE -# define _DEFAULT_SOURCE 1 -#endif - -/* This is to enable the ISO C2X extension. */ -#if (defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) -# define __GLIBC_USE_ISOC2X 1 -#else -# define __GLIBC_USE_ISOC2X 0 -#endif - -/* This is to enable the ISO C11 extension. */ -#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) -# define __USE_ISOC11 1 -#endif - -/* This is to enable the ISO C99 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ - || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) -# define __USE_ISOC99 1 -#endif - -/* This is to enable the ISO C90 Amendment 1:1995 extension. */ -#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ - || defined _ISOC2X_SOURCE \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) -# define __USE_ISOC95 1 -#endif - -#ifdef __cplusplus -/* This is to enable compatibility for ISO C++17. */ -# if __cplusplus >= 201703L -# define __USE_ISOC11 1 -# endif -/* This is to enable compatibility for ISO C++11. - Check the temporary macro for now, too. */ -# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ -# define __USE_ISOCXX11 1 -# define __USE_ISOC99 1 -# endif -#endif - -/* 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 !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE -# define __USE_POSIX_IMPLICITLY 1 -# endif -# undef _POSIX_SOURCE -# define _POSIX_SOURCE 1 -# undef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 200809L -#endif - -#if ((!defined __STRICT_ANSI__ \ - || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ - && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) -# define _POSIX_SOURCE 1 -# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 -# define _POSIX_C_SOURCE 2 -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 -# define _POSIX_C_SOURCE 199506L -# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 -# define _POSIX_C_SOURCE 200112L -# else -# define _POSIX_C_SOURCE 200809L -# endif -# define __USE_POSIX_IMPLICITLY 1 -#endif - -/* 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 ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ - && (defined _REENTRANT || defined _THREAD_SAFE)) -# define _POSIX_SOURCE 1 -# undef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 199506L -#endif - -#if (defined _POSIX_SOURCE \ - || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ - || defined _XOPEN_SOURCE) -# define __USE_POSIX 1 -#endif - -#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE -# define __USE_POSIX2 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L -# define __USE_POSIX199309 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L -# define __USE_POSIX199506 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L -# define __USE_XOPEN2K 1 -# undef __USE_ISOC95 -# define __USE_ISOC95 1 -# undef __USE_ISOC99 -# define __USE_ISOC99 1 -#endif - -#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L -# define __USE_XOPEN2K8 1 -# undef _ATFILE_SOURCE -# define _ATFILE_SOURCE 1 -#endif - -#ifdef _XOPEN_SOURCE -# define __USE_XOPEN 1 -# if (_XOPEN_SOURCE - 0) >= 500 -# define __USE_XOPEN_EXTENDED 1 -# define __USE_UNIX98 1 -# undef _LARGEFILE_SOURCE -# define _LARGEFILE_SOURCE 1 -# if (_XOPEN_SOURCE - 0) >= 600 -# if (_XOPEN_SOURCE - 0) >= 700 -# define __USE_XOPEN2K8 1 -# define __USE_XOPEN2K8XSI 1 -# endif -# define __USE_XOPEN2K 1 -# define __USE_XOPEN2KXSI 1 -# undef __USE_ISOC95 -# define __USE_ISOC95 1 -# undef __USE_ISOC99 -# define __USE_ISOC99 1 -# endif -# else -# ifdef _XOPEN_SOURCE_EXTENDED -# define __USE_XOPEN_EXTENDED 1 -# endif -# endif -#endif - -#ifdef _LARGEFILE_SOURCE -# define __USE_LARGEFILE 1 -#endif - -#ifdef _LARGEFILE64_SOURCE -# define __USE_LARGEFILE64 1 -#endif - -#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 -# define __USE_FILE_OFFSET64 1 -#endif - -#include - -#if defined _DEFAULT_SOURCE -# define __USE_MISC 1 -#endif - -#ifdef _ATFILE_SOURCE -# define __USE_ATFILE 1 -#endif - -#ifdef _DYNAMIC_STACK_SIZE_SOURCE -# define __USE_DYNAMIC_STACK_SIZE 1 -#endif - -#ifdef _GNU_SOURCE -# define __USE_GNU 1 -#endif - -#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 -# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0 -# warning _FORTIFY_SOURCE requires compiling with optimization (-O) -# elif !__GNUC_PREREQ (4, 1) -# warning _FORTIFY_SOURCE requires GCC 4.1 or later -# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ - || __GNUC_PREREQ (12, 0)) - -# if _FORTIFY_SOURCE > 3 -# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform -# endif -# define __USE_FORTIFY_LEVEL 3 -# elif _FORTIFY_SOURCE > 1 -# if _FORTIFY_SOURCE > 2 -# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform -# endif -# define __USE_FORTIFY_LEVEL 2 -# else -# define __USE_FORTIFY_LEVEL 1 -# endif -#endif -#ifndef __USE_FORTIFY_LEVEL -# define __USE_FORTIFY_LEVEL 0 -#endif - -/* 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 , this test - must consider only the value of __cplusplus when compiling C++. */ -#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 -# define __GLIBC_USE_DEPRECATED_GETS 0 -#else -# define __GLIBC_USE_DEPRECATED_GETS 1 -#endif - -/* 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 (defined __USE_GNU \ - && (defined __cplusplus \ - ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ - : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L))) -# define __GLIBC_USE_DEPRECATED_SCANF 1 -#else -# define __GLIBC_USE_DEPRECATED_SCANF 0 -#endif - -/* Get definitions of __STDC_* predefined macros, if the compiler has - not preincluded this header automatically. */ -#include - -/* 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 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__ 36 - -#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 -# include -# endif - -/* If we don't have __REDIRECT, prototypes will be missing if - __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ -# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT -# define __USE_LARGEFILE 1 -# define __USE_LARGEFILE64 1 -# endif - -#endif /* !ASSEMBLER */ - -/* Decide whether we can define 'extern inline' functions in headers. */ -#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ - && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ - && defined __extern_inline -# define __USE_EXTERN_INLINES 1 -#endif - - -/* This is here only because every header file already includes this one. - Get the definitions of all the appropriate `__stub_FUNCTION' symbols. - contains `#define __stub_FUNCTION' when FUNCTION is a stub - that will always return failure (and set errno to ENOSYS). */ -#include - - -#endif /* features.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h.blob deleted file mode 100644 index 99fd8e8..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@features.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h deleted file mode 100644 index b745721..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h +++ /dev/null @@ -1,17 +0,0 @@ -/* 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 - -#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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob deleted file mode 100644 index 223df5f..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs-64.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h deleted file mode 100644 index 70a1ba0..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h +++ /dev/null @@ -1,14 +0,0 @@ -/* This file is automatically generated. - This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - - -#if !defined __x86_64__ -# include -#endif -#if defined __x86_64__ && defined __LP64__ -# include -#endif -#if defined __x86_64__ && defined __ILP32__ -# include -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob deleted file mode 100644 index 08db844..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@gnu@stubs.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h deleted file mode 100644 index d76933d..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -#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 or any other header that includes - 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 __GCC_IEC_559 > 0 -# define __STDC_IEC_559__ 1 -# define __STDC_IEC_60559_BFP__ 201404L -# endif -#else -# define __STDC_IEC_559__ 1 -# define __STDC_IEC_60559_BFP__ 201404L -#endif - -#ifdef __GCC_IEC_559_COMPLEX -# if __GCC_IEC_559_COMPLEX > 0 -# define __STDC_IEC_559_COMPLEX__ 1 -# define __STDC_IEC_60559_COMPLEX__ 201404L -# endif -#else -# define __STDC_IEC_559_COMPLEX__ 1 -# define __STDC_IEC_60559_COMPLEX__ 201404L -#endif - -/* 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 diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob deleted file mode 100644 index 1b803e5..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdc-predef.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h deleted file mode 100644 index 0e0f16b..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h +++ /dev/null @@ -1,911 +0,0 @@ -/* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991-2022 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 - . */ - -/* - * ISO C99 Standard: 7.19 Input/output - */ - -#ifndef _STDIO_H -#define _STDIO_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -__BEGIN_DECLS - -#define __need_size_t -#define __need_NULL -#include - -#define __need___va_list -#include - -#include -#include -#include -#include -#include -#include - -#ifdef __USE_GNU -# include -#endif - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# ifdef __GNUC__ -# ifndef _VA_LIST_DEFINED -typedef __gnuc_va_list va_list; -# define _VA_LIST_DEFINED -# endif -# else -# include -# endif -#endif - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -# ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -# endif -# if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -# endif -#endif - -#ifdef __USE_XOPEN2K8 -# ifndef __ssize_t_defined -typedef __ssize_t ssize_t; -# define __ssize_t_defined -# endif -#endif - -/* The type of the second argument to `fgetpos' and `fsetpos'. */ -#ifndef __USE_FILE_OFFSET64 -typedef __fpos_t fpos_t; -#else -typedef __fpos64_t fpos_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __fpos64_t fpos64_t; -#endif - -/* The possibilities for the third argument to `setvbuf'. */ -#define _IOFBF 0 /* Fully buffered. */ -#define _IOLBF 1 /* Line buffered. */ -#define _IONBF 2 /* No buffering. */ - - -/* Default buffer size. */ -#define BUFSIZ 8192 - - -/* The value returned by fgetc and similar functions to indicate the - end of the file. */ -#define EOF (-1) - - -/* The possibilities for the third argument to `fseek'. - These values should not be changed. */ -#define SEEK_SET 0 /* Seek from beginning of file. */ -#define SEEK_CUR 1 /* Seek from current position. */ -#define SEEK_END 2 /* Seek from end of file. */ -#ifdef __USE_GNU -# define SEEK_DATA 3 /* Seek to next data. */ -# define SEEK_HOLE 4 /* Seek to next hole. */ -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* Default path prefix for `tempnam' and `tmpnam'. */ -# define P_tmpdir "/tmp" -#endif - - -/* Get the values: - L_tmpnam How long an array of chars must be to be passed to `tmpnam'. - TMP_MAX The minimum number of unique filenames generated by tmpnam - (and tempnam when it uses tmpnam's name space), - or tempnam (the two are separate). - L_ctermid How long an array to pass to `ctermid'. - L_cuserid How long an array to pass to `cuserid'. - FOPEN_MAX Minimum number of files that can be open at once. - FILENAME_MAX Maximum length of a filename. */ -#include - - -#if __GLIBC_USE (ISOC2X) -/* Maximum length of printf output for a NaN. */ -# define _PRINTF_NAN_LEN_MAX 4 -#endif - - -/* Standard streams. */ -extern FILE *stdin; /* Standard input stream. */ -extern FILE *stdout; /* Standard output stream. */ -extern FILE *stderr; /* Standard error output stream. */ -/* C89/C99 say they're macros. Make them happy. */ -#define stdin stdin -#define stdout stdout -#define stderr stderr - -/* Remove file FILENAME. */ -extern int remove (const char *__filename) __THROW; -/* Rename file OLD to NEW. */ -extern int rename (const char *__old, const char *__new) __THROW; - -#ifdef __USE_ATFILE -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */ -extern int renameat (int __oldfd, const char *__old, int __newfd, - const char *__new) __THROW; -#endif - -#ifdef __USE_GNU -/* Flags for renameat2. */ -# define RENAME_NOREPLACE (1 << 0) -# define RENAME_EXCHANGE (1 << 1) -# define RENAME_WHITEOUT (1 << 2) - -/* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with - additional flags. */ -extern int renameat2 (int __oldfd, const char *__old, int __newfd, - const char *__new, unsigned int __flags) __THROW; -#endif - -/* Close STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fclose (FILE *__stream); - -#undef __attr_dealloc_fclose -#define __attr_dealloc_fclose __attr_dealloc (fclose, 1) - -/* Create a temporary file and open it read/write. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -#ifndef __USE_FILE_OFFSET64 -extern FILE *tmpfile (void) - __attribute_malloc__ __attr_dealloc_fclose __wur; -#else -# ifdef __REDIRECT -extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) - __attribute_malloc__ __attr_dealloc_fclose __wur; -# else -# define tmpfile tmpfile64 -# endif -#endif - -#ifdef __USE_LARGEFILE64 -extern FILE *tmpfile64 (void) - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -/* Generate a temporary filename. */ -extern char *tmpnam (char[L_tmpnam]) __THROW __wur; - -#ifdef __USE_MISC -/* This is the reentrant variant of `tmpnam'. The only difference is - that it does not allow S to be NULL. */ -extern char *tmpnam_r (char __s[L_tmpnam]) __THROW __wur; -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* Generate a unique temporary filename using up to five characters of PFX - if it is not NULL. The directory to put this file in is searched for - as follows: First the environment variable "TMPDIR" is checked. - If it contains the name of a writable directory, that directory is used. - If not and if DIR is not NULL, that value is checked. If that fails, - P_tmpdir is tried and finally "/tmp". The storage for the filename - is allocated by `malloc'. */ -extern char *tempnam (const char *__dir, const char *__pfx) - __THROW __attribute_malloc__ __wur __attr_dealloc_free; -#endif - -/* Flush STREAM, or all streams if STREAM is NULL. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fflush (FILE *__stream); - -#ifdef __USE_MISC -/* Faster versions when locking is not required. - - 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 fflush_unlocked (FILE *__stream); -#endif - -#ifdef __USE_GNU -/* Close all streams. - - 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 fcloseall (void); -#endif - - -#ifndef __USE_FILE_OFFSET64 -/* Open a file and create a new stream for it. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *fopen (const char *__restrict __filename, - const char *__restrict __modes) - __attribute_malloc__ __attr_dealloc_fclose __wur; -/* Open a file, replacing an existing stream with it. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *freopen (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __wur; -#else -# ifdef __REDIRECT -extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, - const char *__restrict __modes), fopen64) - __attribute_malloc__ __attr_dealloc_fclose __wur; -extern FILE *__REDIRECT (freopen, (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream), freopen64) - __wur; -# else -# define fopen fopen64 -# define freopen freopen64 -# endif -#endif -#ifdef __USE_LARGEFILE64 -extern FILE *fopen64 (const char *__restrict __filename, - const char *__restrict __modes) - __attribute_malloc__ __attr_dealloc_fclose __wur; -extern FILE *freopen64 (const char *__restrict __filename, - const char *__restrict __modes, - FILE *__restrict __stream) __wur; -#endif - -#ifdef __USE_POSIX -/* Create a new stream that refers to an existing system file descriptor. */ -extern FILE *fdopen (int __fd, const char *__modes) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -#ifdef __USE_GNU -/* Create a new stream that refers to the given magic cookie, - and uses the given functions for input and output. */ -extern FILE *fopencookie (void *__restrict __magic_cookie, - const char *__restrict __modes, - cookie_io_functions_t __io_funcs) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; -#endif - -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) -/* Create a new stream that refers to a memory buffer. */ -extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) - __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; - -/* Open a stream that writes into a malloc'd buffer that is expanded as - necessary. *BUFLOC and *SIZELOC are updated with the buffer's location - and the number of characters written on fflush or fclose. */ -extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW - __attribute_malloc__ __attr_dealloc_fclose __wur; - -#ifdef _WCHAR_H -/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces - a wide character string. Declared here only to add attribute malloc - and only if has been previously #included. */ -extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW - __attribute_malloc__ __attr_dealloc_fclose; -# endif -#endif - -/* If BUF is NULL, make STREAM unbuffered. - Else make it use buffer BUF, of size BUFSIZ. */ -extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW; -/* Make STREAM use buffering mode MODE. - If BUF is not NULL, use N bytes of it for buffering; - else allocate an internal buffer N bytes long. */ -extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, - int __modes, size_t __n) __THROW; - -#ifdef __USE_MISC -/* If BUF is NULL, make STREAM unbuffered. - Else make it use SIZE bytes of BUF for buffering. */ -extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, - size_t __size) __THROW; - -/* Make STREAM line-buffered. */ -extern void setlinebuf (FILE *__stream) __THROW; -#endif - - -/* Write formatted output to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fprintf (FILE *__restrict __stream, - const char *__restrict __format, ...); -/* Write formatted output to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int printf (const char *__restrict __format, ...); -/* Write formatted output to S. */ -extern int sprintf (char *__restrict __s, - const char *__restrict __format, ...) __THROWNL; - -/* Write formatted output to S from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg); -/* Write formatted output to stdout from argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); -/* Write formatted output to S from argument list ARG. */ -extern int vsprintf (char *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) __THROWNL; - -#if defined __USE_ISOC99 || defined __USE_UNIX98 -/* Maximum chars of output to write in MAXLEN. */ -extern int snprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); - -extern int vsnprintf (char *__restrict __s, size_t __maxlen, - const char *__restrict __format, __gnuc_va_list __arg) - __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); -#endif - -#if __GLIBC_USE (LIB_EXT2) -/* Write formatted output to a string dynamically allocated with `malloc'. - Store the address of the string in *PTR. */ -extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, - __gnuc_va_list __arg) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; -extern int __asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; -extern int asprintf (char **__restrict __ptr, - const char *__restrict __fmt, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; -#endif - -#ifdef __USE_XOPEN2K8 -/* Write formatted output to a file descriptor. */ -extern int vdprintf (int __fd, const char *__restrict __fmt, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 2, 0))); -extern int dprintf (int __fd, const char *__restrict __fmt, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -#endif - - -/* Read formatted input from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __wur; -/* Read formatted input from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int scanf (const char *__restrict __format, ...) __wur; -/* Read formatted input from S. */ -extern int sscanf (const char *__restrict __s, - const char *__restrict __format, ...) __THROW; - -/* 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/stdio-ldbl.h. */ -#include -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT -extern int __REDIRECT (fscanf, (FILE *__restrict __stream, - const char *__restrict __format, ...), - __isoc99_fscanf) __wur; -extern int __REDIRECT (scanf, (const char *__restrict __format, ...), - __isoc99_scanf) __wur; -extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, - const char *__restrict __format, ...), - __isoc99_sscanf); -# else -extern int __isoc99_fscanf (FILE *__restrict __stream, - const char *__restrict __format, ...) __wur; -extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; -extern int __isoc99_sscanf (const char *__restrict __s, - const char *__restrict __format, ...) __THROW; -# define fscanf __isoc99_fscanf -# define scanf __isoc99_scanf -# define sscanf __isoc99_sscanf -# endif -#endif - -#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 vfscanf (FILE *__restrict __s, const char *__restrict __format, - __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; - -/* Read formatted input from stdin into argument list ARG. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; - -/* Read formatted input from S into argument list ARG. */ -extern int vsscanf (const char *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg) - __THROW __attribute__ ((__format__ (__scanf__, 2, 0))); - -/* Same redirection as above for the v*scanf family. */ -# if !__GLIBC_USE (DEPRECATED_SCANF) -# if defined __REDIRECT && !defined __LDBL_COMPAT \ - && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -extern int __REDIRECT (vfscanf, - (FILE *__restrict __s, - const char *__restrict __format, __gnuc_va_list __arg), - __isoc99_vfscanf) - __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; -extern int __REDIRECT (vscanf, (const char *__restrict __format, - __gnuc_va_list __arg), __isoc99_vscanf) - __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; -extern int __REDIRECT_NTH (vsscanf, - (const char *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg), __isoc99_vsscanf) - __attribute__ ((__format__ (__scanf__, 2, 0))); -# elif !defined __REDIRECT -extern int __isoc99_vfscanf (FILE *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg) __wur; -extern int __isoc99_vscanf (const char *__restrict __format, - __gnuc_va_list __arg) __wur; -extern int __isoc99_vsscanf (const char *__restrict __s, - const char *__restrict __format, - __gnuc_va_list __arg) __THROW; -# define vfscanf __isoc99_vfscanf -# define vscanf __isoc99_vscanf -# define vsscanf __isoc99_vsscanf -# endif -# endif -#endif /* Use ISO C9x. */ - - -/* Read a character from STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int fgetc (FILE *__stream); -extern int getc (FILE *__stream); - -/* Read a character from stdin. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int getchar (void); - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int getc_unlocked (FILE *__stream); -extern int getchar_unlocked (void); -#endif /* Use POSIX. */ - -#ifdef __USE_MISC -/* 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 int fgetc_unlocked (FILE *__stream); -#endif /* Use MISC. */ - - -/* Write a character to STREAM. - - These functions are possible cancellation points and therefore not - marked with __THROW. - - These functions is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fputc (int __c, FILE *__stream); -extern int putc (int __c, FILE *__stream); - -/* Write a character to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int putchar (int __c); - -#ifdef __USE_MISC -/* 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 int fputc_unlocked (int __c, FILE *__stream); -#endif /* Use MISC. */ - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. - - These functions are possible cancellation points and therefore not - marked with __THROW. */ -extern int putc_unlocked (int __c, FILE *__stream); -extern int putchar_unlocked (int __c); -#endif /* Use POSIX. */ - - -#if defined __USE_MISC \ - || (defined __USE_XOPEN && !defined __USE_XOPEN2K) -/* Get a word (int) from STREAM. */ -extern int getw (FILE *__stream); - -/* Write a word (int) to STREAM. */ -extern int putw (int __w, FILE *__stream); -#endif - - -/* Get a newline-terminated string of finite length from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __wur __fortified_attr_access (__write_only__, 1, 2); - -#if __GLIBC_USE (DEPRECATED_GETS) -/* Get a newline-terminated string from stdin, removing the newline. - - This function is impossible to use safely. It has been officially - removed from ISO C11 and ISO C++14, and we have also removed it - from the _GNU_SOURCE feature list. It remains available when - explicitly using an old ISO C, Unix, or POSIX standard. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern char *gets (char *__s) __wur __attribute_deprecated__; -#endif - -#ifdef __USE_GNU -/* This function does the same as `fgets' 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 char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) __wur - __fortified_attr_access (__write_only__, 1, 2); -#endif - - -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) -/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR - (and null-terminate it). *LINEPTR is a pointer returned from malloc (or - NULL), pointing to *N characters of space. It is realloc'd as - necessary. Returns the number of characters read (not including the - null terminator), or -1 on error or EOF. - - 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 __ssize_t __getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __wur; -extern __ssize_t getdelim (char **__restrict __lineptr, - size_t *__restrict __n, int __delimiter, - FILE *__restrict __stream) __wur; - -/* Like `getdelim', but reads up to a newline. - - 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 __ssize_t getline (char **__restrict __lineptr, - size_t *__restrict __n, - FILE *__restrict __stream) __wur; -#endif - - -/* Write a string to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fputs (const char *__restrict __s, FILE *__restrict __stream); - -/* Write a string, followed by a newline, to stdout. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int puts (const char *__s); - - -/* Push a character back onto the input buffer of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int ungetc (int __c, FILE *__stream); - - -/* Read chunks of generic data from STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern size_t fread (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) __wur; -/* Write chunks of generic data to STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern size_t fwrite (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __s); - -#ifdef __USE_GNU -/* This function does the same as `fputs' 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 fputs_unlocked (const char *__restrict __s, - FILE *__restrict __stream); -#endif - -#ifdef __USE_MISC -/* Faster versions when locking is not necessary. - - 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 size_t fread_unlocked (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream) __wur; -extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream); -#endif - - -/* Seek to a certain position on STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fseek (FILE *__stream, long int __off, int __whence); -/* Return the current position of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern long int ftell (FILE *__stream) __wur; -/* Rewind to the beginning of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void rewind (FILE *__stream); - -/* The Single Unix Specification, Version 2, specifies an alternative, - more adequate interface for the two functions above which deal with - file offset. `long int' is not the right type. These definitions - are originally defined in the Large File Support API. */ - -#if defined __USE_LARGEFILE || defined __USE_XOPEN2K -# ifndef __USE_FILE_OFFSET64 -/* Seek to a certain position on STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fseeko (FILE *__stream, __off_t __off, int __whence); -/* Return the current position of STREAM. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern __off_t ftello (FILE *__stream) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (fseeko, - (FILE *__stream, __off64_t __off, int __whence), - fseeko64); -extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64); -# else -# define fseeko fseeko64 -# define ftello ftello64 -# endif -# endif -#endif - -#ifndef __USE_FILE_OFFSET64 -/* Get STREAM's position. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); -/* Set STREAM's position. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int fsetpos (FILE *__stream, const fpos_t *__pos); -#else -# ifdef __REDIRECT -extern int __REDIRECT (fgetpos, (FILE *__restrict __stream, - fpos_t *__restrict __pos), fgetpos64); -extern int __REDIRECT (fsetpos, - (FILE *__stream, const fpos_t *__pos), fsetpos64); -# else -# define fgetpos fgetpos64 -# define fsetpos fsetpos64 -# endif -#endif - -#ifdef __USE_LARGEFILE64 -extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); -extern __off64_t ftello64 (FILE *__stream) __wur; -extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); -extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); -#endif - -/* Clear the error and EOF indicators for STREAM. */ -extern void clearerr (FILE *__stream) __THROW; -/* Return the EOF indicator for STREAM. */ -extern int feof (FILE *__stream) __THROW __wur; -/* Return the error indicator for STREAM. */ -extern int ferror (FILE *__stream) __THROW __wur; - -#ifdef __USE_MISC -/* Faster versions when locking is not required. */ -extern void clearerr_unlocked (FILE *__stream) __THROW; -extern int feof_unlocked (FILE *__stream) __THROW __wur; -extern int ferror_unlocked (FILE *__stream) __THROW __wur; -#endif - - -/* Print a message describing the meaning of the value of errno. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern void perror (const char *__s); - - -#ifdef __USE_POSIX -/* Return the system file descriptor for STREAM. */ -extern int fileno (FILE *__stream) __THROW __wur; -#endif /* Use POSIX. */ - -#ifdef __USE_MISC -/* Faster version when locking is not required. */ -extern int fileno_unlocked (FILE *__stream) __THROW __wur; -#endif - - -#ifdef __USE_POSIX2 -/* Close a stream opened by popen and return the status of its child. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int pclose (FILE *__stream); - -/* Create a new stream connected to a pipe running the given command. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern FILE *popen (const char *__command, const char *__modes) - __attribute_malloc__ __attr_dealloc (pclose, 1) __wur; - -#endif - - -#ifdef __USE_POSIX -/* Return the name of the controlling terminal. */ -extern char *ctermid (char *__s) __THROW - __attr_access ((__write_only__, 1)); -#endif /* Use POSIX. */ - - -#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU -/* Return the name of the current user. */ -extern char *cuserid (char *__s) - __attr_access ((__write_only__, 1)); -#endif /* Use X/Open, but not issue 6. */ - - -#ifdef __USE_GNU -struct obstack; /* See . */ - -/* Write formatted output to an obstack. */ -extern int obstack_printf (struct obstack *__restrict __obstack, - const char *__restrict __format, ...) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); -extern int obstack_vprintf (struct obstack *__restrict __obstack, - const char *__restrict __format, - __gnuc_va_list __args) - __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); -#endif /* Use GNU. */ - - -#ifdef __USE_POSIX199506 -/* These are defined in POSIX.1:1996. */ - -/* Acquire ownership of STREAM. */ -extern void flockfile (FILE *__stream) __THROW; - -/* Try to acquire ownership of STREAM but do not block if it is not - possible. */ -extern int ftrylockfile (FILE *__stream) __THROW __wur; - -/* Relinquish the ownership granted for STREAM. */ -extern void funlockfile (FILE *__stream) __THROW; -#endif /* POSIX */ - -#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU -/* X/Open Issues 1-5 required getopt to be declared in this - header. It was removed in Issue 6. GNU follows Issue 6. */ -# include -#endif - -/* Slow-path routines used by the optimized inline functions in - bits/stdio.h. */ -extern int __uflow (FILE *); -extern int __overflow (FILE *, int); - -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -/* Declare all functions from bits/stdio2-decl.h first. */ -# include -#endif - -/* The following headers provide asm redirections. These redirections must - appear before the first usage of these functions, e.g. in bits/stdio.h. */ -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - -/* If we are compiling with optimizing read this file. It contains - several optimizing inline functions and macros. */ -#ifdef __USE_EXTERN_INLINES -# include -#endif -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -/* Now include the function definitions and redirects too. */ -# include -#endif - -__END_DECLS - -#endif /* included. */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob deleted file mode 100644 index 0f73695..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdio.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h deleted file mode 100644 index 3a630a0..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h +++ /dev/null @@ -1,1050 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -/* - * ISO C99 Standard: 7.20 General utilities - */ - -#ifndef _STDLIB_H - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -/* Get size_t, wchar_t and NULL from . */ -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#include - -__BEGIN_DECLS - -#define _STDLIB_H 1 - -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) && !defined _SYS_WAIT_H -/* XPG requires a few symbols from being defined. */ -# include -# include - -/* Define the macros also would define this way. */ -# define WEXITSTATUS(status) __WEXITSTATUS (status) -# define WTERMSIG(status) __WTERMSIG (status) -# define WSTOPSIG(status) __WSTOPSIG (status) -# define WIFEXITED(status) __WIFEXITED (status) -# define WIFSIGNALED(status) __WIFSIGNALED (status) -# define WIFSTOPPED(status) __WIFSTOPPED (status) -# ifdef __WIFCONTINUED -# define WIFCONTINUED(status) __WIFCONTINUED (status) -# endif -#endif /* X/Open or XPG7 and not included. */ - -/* _FloatN API tests for enablement. */ -#include - -/* Returned by `div'. */ -typedef struct - { - int quot; /* Quotient. */ - int rem; /* Remainder. */ - } div_t; - -/* Returned by `ldiv'. */ -#ifndef __ldiv_t_defined -typedef struct - { - long int quot; /* Quotient. */ - long int rem; /* Remainder. */ - } ldiv_t; -# define __ldiv_t_defined 1 -#endif - -#if defined __USE_ISOC99 && !defined __lldiv_t_defined -/* Returned by `lldiv'. */ -__extension__ typedef struct - { - long long int quot; /* Quotient. */ - long long int rem; /* Remainder. */ - } lldiv_t; -# define __lldiv_t_defined 1 -#endif - - -/* The largest number rand will return (same as INT_MAX). */ -#define RAND_MAX 2147483647 - - -/* We define these the same for all machines. - Changes from this to the outside world should be done in `_exit'. */ -#define EXIT_FAILURE 1 /* Failing exit status. */ -#define EXIT_SUCCESS 0 /* Successful exit status. */ - - -/* Maximum length of a multibyte character in the current locale. */ -#define MB_CUR_MAX (__ctype_get_mb_cur_max ()) -extern size_t __ctype_get_mb_cur_max (void) __THROW __wur; - - -/* Convert a string to a floating-point number. */ -extern double atof (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -/* Convert a string to an integer. */ -extern int atoi (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -/* Convert a string to a long integer. */ -extern long int atol (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; - -#ifdef __USE_ISOC99 -/* Convert a string to a long long integer. */ -__extension__ extern long long int atoll (const char *__nptr) - __THROW __attribute_pure__ __nonnull ((1)) __wur; -#endif - -/* Convert a string to a floating-point number. */ -extern double strtod (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); - -#ifdef __USE_ISOC99 -/* Likewise for `float' and `long double' sizes of floating-point numbers. */ -extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) __THROW __nonnull ((1)); - -extern long double strtold (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -/* Likewise for '_FloatN' and '_FloatNx'. */ - -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float16 strtof16 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float32 strtof32 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float64 strtof64 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float128 strtof128 (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float32x strtof32x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float64x strtof64x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern _Float128x strtof128x (const char *__restrict __nptr, - char **__restrict __endptr) - __THROW __nonnull ((1)); -#endif - -/* Convert a string to a long integer. */ -extern long int strtol (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned long integer. */ -extern unsigned long int strtoul (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); - -#ifdef __USE_MISC -/* Convert a string to a quadword integer. */ -__extension__ -extern long long int strtoq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned quadword integer. */ -__extension__ -extern unsigned long long int strtouq (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -#endif /* Use misc. */ - -#ifdef __USE_ISOC99 -/* Convert a string to a quadword integer. */ -__extension__ -extern long long int strtoll (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -/* Convert a string to an unsigned quadword integer. */ -__extension__ -extern unsigned long long int strtoull (const char *__restrict __nptr, - char **__restrict __endptr, int __base) - __THROW __nonnull ((1)); -#endif /* ISO C99 or use MISC. */ - -/* Convert a floating-point number to a string. */ -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -extern int strfromd (char *__dest, size_t __size, const char *__format, - double __f) - __THROW __nonnull ((3)); - -extern int strfromf (char *__dest, size_t __size, const char *__format, - float __f) - __THROW __nonnull ((3)); - -extern int strfroml (char *__dest, size_t __size, const char *__format, - long double __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf16 (char *__dest, size_t __size, const char * __format, - _Float16 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf32 (char *__dest, size_t __size, const char * __format, - _Float32 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf64 (char *__dest, size_t __size, const char * __format, - _Float64 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf128 (char *__dest, size_t __size, const char * __format, - _Float128 __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf32x (char *__dest, size_t __size, const char * __format, - _Float32x __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf64x (char *__dest, size_t __size, const char * __format, - _Float64x __f) - __THROW __nonnull ((3)); -#endif - -#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) -extern int strfromf128x (char *__dest, size_t __size, const char * __format, - _Float128x __f) - __THROW __nonnull ((3)); -#endif - - -#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. */ -# include - -extern long int strtol_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) __THROW __nonnull ((1, 4)); - -extern unsigned long int strtoul_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - __THROW __nonnull ((1, 4)); - -__extension__ -extern long long int strtoll_l (const char *__restrict __nptr, - char **__restrict __endptr, int __base, - locale_t __loc) - __THROW __nonnull ((1, 4)); - -__extension__ -extern unsigned long long int strtoull_l (const char *__restrict __nptr, - char **__restrict __endptr, - int __base, locale_t __loc) - __THROW __nonnull ((1, 4)); - -extern double strtod_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - __THROW __nonnull ((1, 3)); - -extern float strtof_l (const char *__restrict __nptr, - char **__restrict __endptr, locale_t __loc) - __THROW __nonnull ((1, 3)); - -extern long double strtold_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); - -# if __HAVE_FLOAT16 -extern _Float16 strtof16_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT32 -extern _Float32 strtof32_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT64 -extern _Float64 strtof64_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT128 -extern _Float128 strtof128_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT32X -extern _Float32x strtof32x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT64X -extern _Float64x strtof64x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif - -# if __HAVE_FLOAT128X -extern _Float128x strtof128x_l (const char *__restrict __nptr, - char **__restrict __endptr, - locale_t __loc) - __THROW __nonnull ((1, 3)); -# endif -#endif /* GNU */ - - -#ifdef __USE_EXTERN_INLINES -__extern_inline int -__NTH (atoi (const char *__nptr)) -{ - return (int) strtol (__nptr, (char **) NULL, 10); -} -__extern_inline long int -__NTH (atol (const char *__nptr)) -{ - return strtol (__nptr, (char **) NULL, 10); -} - -# ifdef __USE_ISOC99 -__extension__ __extern_inline long long int -__NTH (atoll (const char *__nptr)) -{ - return strtoll (__nptr, (char **) NULL, 10); -} -# endif -#endif /* Optimizing and Inlining. */ - - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Convert N to base 64 using the digits "./0-9A-Za-z", least-significant - digit first. Returns a pointer to static storage overwritten by the - next call. */ -extern char *l64a (long int __n) __THROW __wur; - -/* Read a number from a string S in base 64 as above. */ -extern long int a64l (const char *__s) - __THROW __attribute_pure__ __nonnull ((1)) __wur; - -#endif /* Use misc || extended X/Open. */ - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -# include /* we need int32_t... */ - -/* These are the functions that actually do things. The `random', `srandom', - `initstate' and `setstate' functions are those from BSD Unices. - The `rand' and `srand' functions are required by the ANSI standard. - We provide both interfaces to the same random number generator. */ -/* Return a random long integer between 0 and 2^31-1 inclusive. */ -extern long int random (void) __THROW; - -/* Seed the random number generator with the given number. */ -extern void srandom (unsigned int __seed) __THROW; - -/* Initialize the random number generator to use state buffer STATEBUF, - of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, - 32, 64, 128 and 256, the bigger the better; values less than 8 will - cause an error and values greater than 256 will be rounded down. */ -extern char *initstate (unsigned int __seed, char *__statebuf, - size_t __statelen) __THROW __nonnull ((2)); - -/* Switch the random number generator to state buffer STATEBUF, - which should have been previously initialized by `initstate'. */ -extern char *setstate (char *__statebuf) __THROW __nonnull ((1)); - - -# ifdef __USE_MISC -/* Reentrant versions of the `random' family of functions. - These functions all use the following data structure to contain - state, rather than global state variables. */ - -struct random_data - { - int32_t *fptr; /* Front pointer. */ - int32_t *rptr; /* Rear pointer. */ - int32_t *state; /* Array of state values. */ - int rand_type; /* Type of random number generator. */ - int rand_deg; /* Degree of random number generator. */ - int rand_sep; /* Distance between front and rear. */ - int32_t *end_ptr; /* Pointer behind state table. */ - }; - -extern int random_r (struct random_data *__restrict __buf, - int32_t *__restrict __result) __THROW __nonnull ((1, 2)); - -extern int srandom_r (unsigned int __seed, struct random_data *__buf) - __THROW __nonnull ((2)); - -extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, - size_t __statelen, - struct random_data *__restrict __buf) - __THROW __nonnull ((2, 4)); - -extern int setstate_r (char *__restrict __statebuf, - struct random_data *__restrict __buf) - __THROW __nonnull ((1, 2)); -# endif /* Use misc. */ -#endif /* Use extended X/Open || misc. */ - - -/* Return a random integer between 0 and RAND_MAX inclusive. */ -extern int rand (void) __THROW; -/* Seed the random number generator with the given number. */ -extern void srand (unsigned int __seed) __THROW; - -#ifdef __USE_POSIX199506 -/* Reentrant interface according to POSIX.1. */ -extern int rand_r (unsigned int *__seed) __THROW; -#endif - - -#if defined __USE_MISC || defined __USE_XOPEN -/* System V style 48-bit random number generator functions. */ - -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ -extern double drand48 (void) __THROW; -extern double erand48 (unsigned short int __xsubi[3]) __THROW __nonnull ((1)); - -/* Return non-negative, long integer in [0,2^31). */ -extern long int lrand48 (void) __THROW; -extern long int nrand48 (unsigned short int __xsubi[3]) - __THROW __nonnull ((1)); - -/* Return signed, long integers in [-2^31,2^31). */ -extern long int mrand48 (void) __THROW; -extern long int jrand48 (unsigned short int __xsubi[3]) - __THROW __nonnull ((1)); - -/* Seed random number generator. */ -extern void srand48 (long int __seedval) __THROW; -extern unsigned short int *seed48 (unsigned short int __seed16v[3]) - __THROW __nonnull ((1)); -extern void lcong48 (unsigned short int __param[7]) __THROW __nonnull ((1)); - -# ifdef __USE_MISC -/* Data structure for communication with thread safe versions. This - type is to be regarded as opaque. It's only exported because users - have to allocate objects of this type. */ -struct drand48_data - { - unsigned short int __x[3]; /* Current state. */ - unsigned short int __old_x[3]; /* Old state. */ - unsigned short int __c; /* Additive const. in congruential formula. */ - unsigned short int __init; /* Flag for initializing. */ - __extension__ unsigned long long int __a; /* Factor in congruential - formula. */ - }; - -/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ -extern int drand48_r (struct drand48_data *__restrict __buffer, - double *__restrict __result) __THROW __nonnull ((1, 2)); -extern int erand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - double *__restrict __result) __THROW __nonnull ((1, 2)); - -/* Return non-negative, long integer in [0,2^31). */ -extern int lrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); -extern int nrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); - -/* Return signed, long integers in [-2^31,2^31). */ -extern int mrand48_r (struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); -extern int jrand48_r (unsigned short int __xsubi[3], - struct drand48_data *__restrict __buffer, - long int *__restrict __result) - __THROW __nonnull ((1, 2)); - -/* Seed random number generator. */ -extern int srand48_r (long int __seedval, struct drand48_data *__buffer) - __THROW __nonnull ((2)); - -extern int seed48_r (unsigned short int __seed16v[3], - struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); - -extern int lcong48_r (unsigned short int __param[7], - struct drand48_data *__buffer) - __THROW __nonnull ((1, 2)); - -/* Return a random integer between zero and 2**32-1 (inclusive). */ -extern __uint32_t arc4random (void) - __THROW __wur; - -/* Fill the buffer with random data. */ -extern void arc4random_buf (void *__buf, size_t __size) - __THROW __nonnull ((1)); - -/* Return a random number between zero (inclusive) and the specified - limit (exclusive). */ -extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) - __THROW __wur; -# endif /* Use misc. */ -#endif /* Use misc or X/Open. */ - -/* Allocate SIZE bytes of memory. */ -extern void *malloc (size_t __size) __THROW __attribute_malloc__ - __attribute_alloc_size__ ((1)) __wur; -/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ -extern void *calloc (size_t __nmemb, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur; - -/* Re-allocate the previously allocated block - in PTR, making the new block SIZE bytes long. */ -/* __attribute_malloc__ is not used, because if realloc returns - the same pointer that was passed to it, aliasing needs to be allowed - between objects pointed by the old and new pointers. */ -extern void *realloc (void *__ptr, size_t __size) - __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2)); - -/* Free a block allocated by `malloc', `realloc' or `calloc'. */ -extern void free (void *__ptr) __THROW; - -#ifdef __USE_MISC -/* Re-allocate the previously allocated block in PTR, making the new - block large enough for NMEMB elements of SIZE bytes each. */ -/* __attribute_malloc__ is not used, because if reallocarray returns - the same pointer that was passed to it, aliasing needs to be allowed - between objects pointed by the old and new pointers. */ -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - __THROW __attribute_warn_unused_result__ - __attribute_alloc_size__ ((2, 3)) - __attr_dealloc_free; - -/* Add reallocarray as its own deallocator. */ -extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) - __THROW __attr_dealloc (reallocarray, 1); -#endif - -#ifdef __USE_MISC -# include -#endif /* Use misc. */ - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ - || defined __USE_MISC -/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ -extern void *valloc (size_t __size) __THROW __attribute_malloc__ - __attribute_alloc_size__ ((1)) __wur; -#endif - -#ifdef __USE_XOPEN2K -/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ -extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) - __THROW __nonnull ((1)) __wur; -#endif - -#ifdef __USE_ISOC11 -/* ISO C variant of aligned allocation. */ -extern void *aligned_alloc (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) - __attribute_alloc_size__ ((2)) __wur; -#endif - -/* Abort execution and generate a core-dump. */ -extern void abort (void) __THROW __attribute__ ((__noreturn__)); - - -/* Register a function to be called when `exit' is called. */ -extern int atexit (void (*__func) (void)) __THROW __nonnull ((1)); - -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 -/* Register a function to be called when `quick_exit' is called. */ -# ifdef __cplusplus -extern "C++" int at_quick_exit (void (*__func) (void)) - __THROW __asm ("at_quick_exit") __nonnull ((1)); -# else -extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1)); -# endif -#endif - -#ifdef __USE_MISC -/* Register a function to be called with the status - given to `exit' and the given argument. */ -extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) - __THROW __nonnull ((1)); -#endif - -/* Call all functions registered with `atexit' and `on_exit', - in the reverse of the order in which they were registered, - perform stdio cleanup, and terminate program execution with STATUS. */ -extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); - -#if defined __USE_ISOC11 || defined __USE_ISOCXX11 -/* Call all functions registered with `at_quick_exit' in the reverse - of the order in which they were registered and terminate program - execution with STATUS. */ -extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__)); -#endif - -#ifdef __USE_ISOC99 -/* Terminate the program with STATUS without calling any of the - functions registered with `atexit' or `on_exit'. */ -extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__)); -#endif - - -/* Return the value of envariable NAME, or NULL if it doesn't exist. */ -extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur; - -#ifdef __USE_GNU -/* This function is similar to the above but returns NULL if the - programs is running with SUID or SGID enabled. */ -extern char *secure_getenv (const char *__name) - __THROW __nonnull ((1)) __wur; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN -/* The SVID says this is in , but this seems a better place. */ -/* Put STRING, which is of the form "NAME=VALUE", in the environment. - If there is no `=', remove NAME from the environment. */ -extern int putenv (char *__string) __THROW __nonnull ((1)); -#endif - -#ifdef __USE_XOPEN2K -/* Set NAME to VALUE in the environment. - If REPLACE is nonzero, overwrite an existing value. */ -extern int setenv (const char *__name, const char *__value, int __replace) - __THROW __nonnull ((2)); - -/* Remove the variable NAME from the environment. */ -extern int unsetenv (const char *__name) __THROW __nonnull ((1)); -#endif - -#ifdef __USE_MISC -/* The `clearenv' was planned to be added to POSIX.1 but probably - never made it. Nevertheless the POSIX.9 standard (POSIX bindings - for Fortran 77) requires this function. */ -extern int clearenv (void) __THROW; -#endif - - -#if defined __USE_MISC \ - || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) -/* Generate a unique temporary file name from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the file name unique. - Always returns TEMPLATE, it's either a temporary file name or a null - string if it cannot get a unique file name. */ -extern char *mktemp (char *__template) __THROW __nonnull ((1)); -#endif - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Generate a unique temporary file name from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the filename unique. - Returns a file descriptor open on the file for reading and writing, - or -1 if it cannot create a uniquely-named file. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkstemp (char *__template) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkstemp, (char *__template), mkstemp64) - __nonnull ((1)) __wur; -# else -# define mkstemp mkstemp64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkstemp64 (char *__template) __nonnull ((1)) __wur; -# endif -#endif - -#ifdef __USE_MISC -/* Similar to mkstemp, but the template can have a suffix after the - XXXXXX. The length of the suffix is specified in the second - parameter. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkstemps (char *__template, int __suffixlen) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkstemps, (char *__template, int __suffixlen), - mkstemps64) __nonnull ((1)) __wur; -# else -# define mkstemps mkstemps64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkstemps64 (char *__template, int __suffixlen) - __nonnull ((1)) __wur; -# endif -#endif - -#ifdef __USE_XOPEN2K8 -/* Create a unique temporary directory from TEMPLATE. - The last six characters of TEMPLATE must be "XXXXXX"; - they are replaced with a string that makes the directory name unique. - Returns TEMPLATE, or a null pointer if it cannot get a unique name. - The directory is created mode 700. */ -extern char *mkdtemp (char *__template) __THROW __nonnull ((1)) __wur; -#endif - -#ifdef __USE_GNU -/* Generate a unique temporary file name from TEMPLATE similar to - mkstemp. But allow the caller to pass additional flags which are - used in the open call to create the file.. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkostemp (char *__template, int __flags) __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkostemp, (char *__template, int __flags), mkostemp64) - __nonnull ((1)) __wur; -# else -# define mkostemp mkostemp64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkostemp64 (char *__template, int __flags) __nonnull ((1)) __wur; -# endif - -/* Similar to mkostemp, but the template can have a suffix after the - XXXXXX. The length of the suffix is specified in the second - parameter. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -# ifndef __USE_FILE_OFFSET64 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __nonnull ((1)) __wur; -# else -# ifdef __REDIRECT -extern int __REDIRECT (mkostemps, (char *__template, int __suffixlen, - int __flags), mkostemps64) - __nonnull ((1)) __wur; -# else -# define mkostemps mkostemps64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __nonnull ((1)) __wur; -# endif -#endif - - -/* Execute the given line as a shell command. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int system (const char *__command) __wur; - - -#ifdef __USE_GNU -/* Return a malloc'd string containing the canonical absolute name of the - existing named file. */ -extern char *canonicalize_file_name (const char *__name) - __THROW __nonnull ((1)) __attribute_malloc__ - __attr_dealloc_free __wur; -#endif - -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -/* Return the canonical absolute name of file NAME. If RESOLVED is - null, the result is malloc'd; otherwise, if the canonical name is - PATH_MAX chars or more, returns null with `errno' set to - ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, - returns the name in RESOLVED. */ -extern char *realpath (const char *__restrict __name, - char *__restrict __resolved) __THROW __wur; -#endif - - -/* Shorthand for type of comparison functions. */ -#ifndef __COMPAR_FN_T -# define __COMPAR_FN_T -typedef int (*__compar_fn_t) (const void *, const void *); - -# ifdef __USE_GNU -typedef __compar_fn_t comparison_fn_t; -# endif -#endif -#ifdef __USE_GNU -typedef int (*__compar_d_fn_t) (const void *, const void *, void *); -#endif - -/* Do a binary search for KEY in BASE, which consists of NMEMB elements - of SIZE bytes each, using COMPAR to perform the comparisons. */ -extern void *bsearch (const void *__key, const void *__base, - size_t __nmemb, size_t __size, __compar_fn_t __compar) - __nonnull ((1, 2, 5)) __wur; - -#ifdef __USE_EXTERN_INLINES -# include -#endif - -/* Sort NMEMB elements of BASE, of SIZE bytes each, - using COMPAR to perform the comparisons. */ -extern void qsort (void *__base, size_t __nmemb, size_t __size, - __compar_fn_t __compar) __nonnull ((1, 4)); -#ifdef __USE_GNU -extern void qsort_r (void *__base, size_t __nmemb, size_t __size, - __compar_d_fn_t __compar, void *__arg) - __nonnull ((1, 4)); -#endif - - -/* Return the absolute value of X. */ -extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; -extern long int labs (long int __x) __THROW __attribute__ ((__const__)) __wur; - -#ifdef __USE_ISOC99 -__extension__ extern long long int llabs (long long int __x) - __THROW __attribute__ ((__const__)) __wur; -#endif - - -/* Return the `div_t', `ldiv_t' or `lldiv_t' representation - of the value of NUMER over DENOM. */ -/* GCC may have built-ins for these someday. */ -extern div_t div (int __numer, int __denom) - __THROW __attribute__ ((__const__)) __wur; -extern ldiv_t ldiv (long int __numer, long int __denom) - __THROW __attribute__ ((__const__)) __wur; - -#ifdef __USE_ISOC99 -__extension__ extern lldiv_t lldiv (long long int __numer, - long long int __denom) - __THROW __attribute__ ((__const__)) __wur; -#endif - - -#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ - || defined __USE_MISC -/* Convert floating point numbers to strings. The returned values are - valid only until another call to the same function. */ - -/* Convert VALUE to a string with NDIGIT digits and return a pointer to - this. Set *DECPT with the position of the decimal character and *SIGN - with the sign of the number. */ -extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; - -/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT - with the position of the decimal character and *SIGN with the sign of - the number. */ -extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; - -/* If possible convert VALUE to a string with NDIGIT significant digits. - Otherwise use exponential representation. The resulting string will - be written to BUF. */ -extern char *gcvt (double __value, int __ndigit, char *__buf) - __THROW __nonnull ((3)) __wur; -#endif - -#ifdef __USE_MISC -/* Long double versions of above functions. */ -extern char *qecvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __THROW __nonnull ((3, 4)) __wur; -extern char *qfcvt (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign) - __THROW __nonnull ((3, 4)) __wur; -extern char *qgcvt (long double __value, int __ndigit, char *__buf) - __THROW __nonnull ((3)) __wur; - - -/* Reentrant version of the functions above which provide their own - buffers. */ -extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __THROW __nonnull ((3, 4, 5)); -extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, - int *__restrict __sign, char *__restrict __buf, - size_t __len) __THROW __nonnull ((3, 4, 5)); - -extern int qecvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((3, 4, 5)); -extern int qfcvt_r (long double __value, int __ndigit, - int *__restrict __decpt, int *__restrict __sign, - char *__restrict __buf, size_t __len) - __THROW __nonnull ((3, 4, 5)); -#endif /* misc */ - - -/* Return the length of the multibyte character - in S, which is no longer than N. */ -extern int mblen (const char *__s, size_t __n) __THROW; -/* Return the length of the given multibyte character, - putting its `wchar_t' representation in *PWC. */ -extern int mbtowc (wchar_t *__restrict __pwc, - const char *__restrict __s, size_t __n) __THROW; -/* Put the multibyte character represented - by WCHAR in S, returning its length. */ -extern int wctomb (char *__s, wchar_t __wchar) __THROW; - - -/* Convert a multibyte string to a wide char string. */ -extern size_t mbstowcs (wchar_t *__restrict __pwcs, - const char *__restrict __s, size_t __n) __THROW - __attr_access ((__read_only__, 2)); -/* Convert a wide char string to multibyte string. */ -extern size_t wcstombs (char *__restrict __s, - const wchar_t *__restrict __pwcs, size_t __n) - __THROW - __fortified_attr_access (__write_only__, 1, 3) - __attr_access ((__read_only__, 2)); - -#ifdef __USE_MISC -/* Determine whether the string value of RESPONSE matches the affirmation - or negative response expression as specified by the LC_MESSAGES category - in the program's current locale. Returns 1 if affirmative, 0 if - negative, and -1 if not matching. */ -extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur; -#endif - - -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -/* Parse comma separated suboption from *OPTIONP and match against - strings in TOKENS. If found return index and set *VALUEP to - optional value introduced by an equal sign. If the suboption is - not part of TOKENS return in *VALUEP beginning of unknown - suboption. On exit *OPTIONP is set to the beginning of the next - token or at the terminating NUL character. */ -extern int getsubopt (char **__restrict __optionp, - char *const *__restrict __tokens, - char **__restrict __valuep) - __THROW __nonnull ((1, 2, 3)) __wur; -#endif - - -/* X/Open pseudo terminal handling. */ - -#ifdef __USE_XOPEN2KXSI -/* Return a master pseudo-terminal handle. */ -extern int posix_openpt (int __oflag) __wur; -#endif - -#ifdef __USE_XOPEN_EXTENDED -/* The next four functions all take a master pseudo-tty fd and - perform an operation on the associated slave: */ - -/* Chown the slave to the calling user. */ -extern int grantpt (int __fd) __THROW; - -/* Release an internal lock so the slave can be opened. - Call after grantpt(). */ -extern int unlockpt (int __fd) __THROW; - -/* Return the pathname of the pseudo terminal slave associated with - the master FD is open on, or NULL on errors. - The returned storage is good until the next call to this function. */ -extern char *ptsname (int __fd) __THROW __wur; -#endif - -#ifdef __USE_GNU -/* Store at most BUFLEN characters of the pathname of the slave pseudo - terminal associated with the master FD is open on in BUF. - Return 0 on success, otherwise an error number. */ -extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); - -/* Open a master pseudo terminal and return its file descriptor. */ -extern int getpt (void); -#endif - -#ifdef __USE_MISC -/* Put the 1 minute, 5 minute and 15 minute load averages into the first - NELEM elements of LOADAVG. Return the number written (never more than - three, but may be less than NELEM), or -1 if an error occurred. */ -extern int getloadavg (double __loadavg[], int __nelem) - __THROW __nonnull ((1)); -#endif - -#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K -/* Return the index into the active-logins file (utmp) for - the controlling terminal. */ -extern int ttyslot (void) __THROW; -#endif - -#include - -/* Define some macros helping to catch buffer overflows. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - -__END_DECLS - -#endif /* stdlib.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h.blob deleted file mode 100644 index 1c06855..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@stdlib.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h deleted file mode 100644 index 54dd834..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h +++ /dev/null @@ -1,541 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -/* - * ISO C99 Standard: 7.21 String handling - */ - -#ifndef _STRING_H -#define _STRING_H 1 - -#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION -#include - -__BEGIN_DECLS - -/* Get size_t and NULL from . */ -#define __need_size_t -#define __need_NULL -#include - -/* Tell the caller that we provide correct C++ prototypes. */ -#if defined __cplusplus && (__GNUC_PREREQ (4, 4) \ - || __glibc_clang_prereq (3, 5)) -# define __CORRECT_ISO_CPP_STRING_H_PROTO -#endif - - -/* Copy N bytes of SRC to DEST. */ -extern void *memcpy (void *__restrict __dest, const void *__restrict __src, - size_t __n) __THROW __nonnull ((1, 2)); -/* Copy N bytes of SRC to DEST, guaranteeing - correct behavior for overlapping strings. */ -extern void *memmove (void *__dest, const void *__src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Copy no more than N bytes of SRC to DEST, stopping when C is found. - Return the position in DEST one byte past where C was copied, - or NULL if C was not found in the first N bytes of SRC. */ -#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X) -extern void *memccpy (void *__restrict __dest, const void *__restrict __src, - int __c, size_t __n) - __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4)); -#endif /* Misc || X/Open. */ - - -/* Set N bytes of S to C. */ -extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); - -/* Compare N bytes of S1 and S2. */ -extern int memcmp (const void *__s1, const void *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. - Return some non-zero value otherwise. - - Essentially __memcmpeq has the exact same semantics as memcmp - except the return value is less constrained. memcmp is always a - correct implementation of __memcmpeq. As well !!memcmp, -memcmp, - or bcmp are correct implementations. - - __memcmpeq is meant to be used by compilers when memcmp return is - only used for its boolean value. - - __memcmpeq is declared only for use by compilers. Programs should - continue to use memcmp. */ -extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Search N bytes of S for C. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern void *memchr (void *__s, int __c, size_t __n) - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); -extern const void *memchr (const void *__s, int __c, size_t __n) - __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline void * -memchr (void *__s, int __c, size_t __n) __THROW -{ - return __builtin_memchr (__s, __c, __n); -} - -__extern_always_inline const void * -memchr (const void *__s, int __c, size_t __n) __THROW -{ - return __builtin_memchr (__s, __c, __n); -} -# endif -} -#else -extern void *memchr (const void *__s, int __c, size_t __n) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - -#ifdef __USE_GNU -/* Search in S for C. This is similar to `memchr' but there is no - length limit. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" void *rawmemchr (void *__s, int __c) - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); -extern "C++" const void *rawmemchr (const void *__s, int __c) - __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); -# else -extern void *rawmemchr (const void *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif - -/* Search N bytes of S for the final occurrence of C. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" void *memrchr (void *__s, int __c, size_t __n) - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) - __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -# else -extern void *memrchr (const void *__s, int __c, size_t __n) - __THROW __attribute_pure__ __nonnull ((1)) - __attr_access ((__read_only__, 1, 3)); -# endif -#endif - - -/* Copy SRC to DEST. */ -extern char *strcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -/* Copy no more than N characters of SRC to DEST. */ -extern char *strncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Append SRC onto DEST. */ -extern char *strcat (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -/* Append no more than N characters from SRC onto DEST. */ -extern char *strncat (char *__restrict __dest, const char *__restrict __src, - size_t __n) __THROW __nonnull ((1, 2)); - -/* Compare S1 and S2. */ -extern int strcmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Compare N characters of S1 and S2. */ -extern int strncmp (const char *__s1, const char *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Compare the collated forms of S1 and S2. */ -extern int strcoll (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Put a transformation of SRC into no more than N bytes of DEST. */ -extern size_t strxfrm (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3)); - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* Compare the collated forms of S1 and S2, using sorting rules from L. */ -extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); -/* Put a transformation of SRC into no more than N bytes of DEST, - using sorting rules from L. */ -extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, - locale_t __l) __THROW __nonnull ((2, 4)) - __attr_access ((__write_only__, 1, 3)); -#endif - -#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \ - || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)) -/* Duplicate S, returning an identical malloc'd string. */ -extern char *strdup (const char *__s) - __THROW __attribute_malloc__ __nonnull ((1)); -#endif - -/* Return a malloc'd copy of at most N bytes of STRING. The - resultant string is terminated even if no null terminator - appears before STRING[N]. */ -#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X) -extern char *strndup (const char *__string, size_t __n) - __THROW __attribute_malloc__ __nonnull ((1)); -#endif - -#if defined __USE_GNU && defined __GNUC__ -/* Duplicate S, returning an identical alloca'd string. */ -# define strdupa(s) \ - (__extension__ \ - ({ \ - const char *__old = (s); \ - size_t __len = strlen (__old) + 1; \ - char *__new = (char *) __builtin_alloca (__len); \ - (char *) memcpy (__new, __old, __len); \ - })) - -/* Return an alloca'd copy of at most N bytes of string. */ -# define strndupa(s, n) \ - (__extension__ \ - ({ \ - const char *__old = (s); \ - size_t __len = strnlen (__old, (n)); \ - char *__new = (char *) __builtin_alloca (__len + 1); \ - __new[__len] = '\0'; \ - (char *) memcpy (__new, __old, __len); \ - })) -#endif - -/* Find the first occurrence of C in S. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strchr (char *__s, int __c) - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); -extern const char *strchr (const char *__s, int __c) - __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strchr (char *__s, int __c) __THROW -{ - return __builtin_strchr (__s, __c); -} - -__extern_always_inline const char * -strchr (const char *__s, int __c) __THROW -{ - return __builtin_strchr (__s, __c); -} -# endif -} -#else -extern char *strchr (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -#endif -/* Find the last occurrence of C in S. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strrchr (char *__s, int __c) - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); -extern const char *strrchr (const char *__s, int __c) - __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strrchr (char *__s, int __c) __THROW -{ - return __builtin_strrchr (__s, __c); -} - -__extern_always_inline const char * -strrchr (const char *__s, int __c) __THROW -{ - return __builtin_strrchr (__s, __c); -} -# endif -} -#else -extern char *strrchr (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - -#ifdef __USE_GNU -/* This function is similar to `strchr'. But it returns a pointer to - the closing NUL byte in case C is not found in S. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *strchrnul (char *__s, int __c) - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); -extern "C++" const char *strchrnul (const char *__s, int __c) - __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); -# else -extern char *strchrnul (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif -#endif - -/* Return the length of the initial segment of S which - consists entirely of characters not in REJECT. */ -extern size_t strcspn (const char *__s, const char *__reject) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Return the length of the initial segment of S which - consists entirely of characters in ACCEPT. */ -extern size_t strspn (const char *__s, const char *__accept) - __THROW __attribute_pure__ __nonnull ((1, 2)); -/* Find the first occurrence in S of any character in ACCEPT. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strpbrk (char *__s, const char *__accept) - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); -extern const char *strpbrk (const char *__s, const char *__accept) - __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strpbrk (char *__s, const char *__accept) __THROW -{ - return __builtin_strpbrk (__s, __accept); -} - -__extern_always_inline const char * -strpbrk (const char *__s, const char *__accept) __THROW -{ - return __builtin_strpbrk (__s, __accept); -} -# endif -} -#else -extern char *strpbrk (const char *__s, const char *__accept) - __THROW __attribute_pure__ __nonnull ((1, 2)); -#endif -/* Find the first occurrence of NEEDLE in HAYSTACK. */ -#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" -{ -extern char *strstr (char *__haystack, const char *__needle) - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); -extern const char *strstr (const char *__haystack, const char *__needle) - __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); - -# ifdef __OPTIMIZE__ -__extern_always_inline char * -strstr (char *__haystack, const char *__needle) __THROW -{ - return __builtin_strstr (__haystack, __needle); -} - -__extern_always_inline const char * -strstr (const char *__haystack, const char *__needle) __THROW -{ - return __builtin_strstr (__haystack, __needle); -} -# endif -} -#else -extern char *strstr (const char *__haystack, const char *__needle) - __THROW __attribute_pure__ __nonnull ((1, 2)); -#endif - - -/* Divide S into tokens separated by characters in DELIM. */ -extern char *strtok (char *__restrict __s, const char *__restrict __delim) - __THROW __nonnull ((2)); - -/* Divide S into tokens separated by characters in DELIM. Information - passed between calls are stored in SAVE_PTR. */ -extern char *__strtok_r (char *__restrict __s, - const char *__restrict __delim, - char **__restrict __save_ptr) - __THROW __nonnull ((2, 3)); -#ifdef __USE_POSIX -extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, - char **__restrict __save_ptr) - __THROW __nonnull ((2, 3)); -#endif - -#ifdef __USE_GNU -/* Similar to `strstr' but this function ignores the case of both strings. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *strcasestr (char *__haystack, const char *__needle) - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); -extern "C++" const char *strcasestr (const char *__haystack, - const char *__needle) - __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); -# else -extern char *strcasestr (const char *__haystack, const char *__needle) - __THROW __attribute_pure__ __nonnull ((1, 2)); -# endif -#endif - -#ifdef __USE_GNU -/* Find the first occurrence of NEEDLE in HAYSTACK. - NEEDLE is NEEDLELEN bytes long; - HAYSTACK is HAYSTACKLEN bytes long. */ -extern void *memmem (const void *__haystack, size_t __haystacklen, - const void *__needle, size_t __needlelen) - __THROW __attribute_pure__ __nonnull ((1, 3)) - __attr_access ((__read_only__, 1, 2)) - __attr_access ((__read_only__, 3, 4)); - -/* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ -extern void *__mempcpy (void *__restrict __dest, - const void *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -extern void *mempcpy (void *__restrict __dest, - const void *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -#endif - - -/* Return the length of S. */ -extern size_t strlen (const char *__s) - __THROW __attribute_pure__ __nonnull ((1)); - -#ifdef __USE_XOPEN2K8 -/* Find the length of STRING, but scan at most MAXLEN characters. - If no '\0' terminator is found in that many characters, return MAXLEN. */ -extern size_t strnlen (const char *__string, size_t __maxlen) - __THROW __attribute_pure__ __nonnull ((1)); -#endif - - -/* Return a string describing the meaning of the `errno' code in ERRNUM. */ -extern char *strerror (int __errnum) __THROW; -#ifdef __USE_XOPEN2K -/* Reentrant version of `strerror'. - There are 2 flavors of `strerror_r', GNU which returns the string - and may or may not use the supplied temporary buffer and POSIX one - which fills the string into the buffer. - To use the POSIX version, -D_XOPEN_SOURCE=600 or -D_POSIX_C_SOURCE=200112L - without -D_GNU_SOURCE is needed, otherwise the GNU version is - preferred. */ -# if defined __USE_XOPEN2K && !defined __USE_GNU -/* Fill BUF with a string describing the meaning of the `errno' code in - ERRNUM. */ -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (strerror_r, - (int __errnum, char *__buf, size_t __buflen), - __xpg_strerror_r) __nonnull ((2)) - __attr_access ((__write_only__, 2, 3)); -# else -extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); -# define strerror_r __xpg_strerror_r -# endif -# else -/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be - used. */ -extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); -# endif - -# ifdef __USE_GNU -/* Return a string describing the meaning of tthe error in ERR. */ -extern const char *strerrordesc_np (int __err) __THROW; -/* Return a string with the error name in ERR. */ -extern const char *strerrorname_np (int __err) __THROW; -# endif -#endif - -#ifdef __USE_XOPEN2K8 -/* Translate error number to string according to the locale L. */ -extern char *strerror_l (int __errnum, locale_t __l) __THROW; -#endif - -#ifdef __USE_MISC -# include - -/* Set N bytes of S to 0. The compiler will not delete a call to this - function, even if S is dead after the call. */ -extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) - __fortified_attr_access (__write_only__, 1, 2); - -/* Return the next DELIM-delimited token from *STRINGP, - terminating it with a '\0', and update *STRINGP to point past it. */ -extern char *strsep (char **__restrict __stringp, - const char *__restrict __delim) - __THROW __nonnull ((1, 2)); -#endif - -#ifdef __USE_XOPEN2K8 -/* Return a string describing the meaning of the signal number in SIG. */ -extern char *strsignal (int __sig) __THROW; - -# ifdef __USE_GNU -/* Return an abbreviation string for the signal number SIG. */ -extern const char *sigabbrev_np (int __sig) __THROW; -/* Return a string describing the meaning of the signal number in SIG, - the result is not translated. */ -extern const char *sigdescr_np (int __sig) __THROW; -# endif - -/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ -extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); -extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) - __THROW __nonnull ((1, 2)); - -/* Copy no more than N characters of SRC to DEST, returning the address of - the last character written into DEST. */ -extern char *__stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -extern char *stpncpy (char *__restrict __dest, - const char *__restrict __src, size_t __n) - __THROW __nonnull ((1, 2)); -#endif - -#ifdef __USE_GNU -/* Compare S1 and S2 as strings holding name & indices/version numbers. */ -extern int strverscmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Sautee STRING briskly. */ -extern char *strfry (char *__string) __THROW __nonnull ((1)); - -/* Frobnicate N bytes of S. */ -extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__read_write__, 1, 2)); - -# ifndef basename -/* Return the file name within directory of FILENAME. We don't - declare the function if the `basename' macro is available (defined - in ) which makes the XPG version of this function - available. */ -# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO -extern "C++" char *basename (char *__filename) - __THROW __asm ("basename") __nonnull ((1)); -extern "C++" const char *basename (const char *__filename) - __THROW __asm ("basename") __nonnull ((1)); -# else -extern char *basename (const char *__filename) __THROW __nonnull ((1)); -# endif -# endif -#endif - -#if __GNUC_PREREQ (3,4) -# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -/* Functions with security checks. */ -# include -# endif -#endif - -__END_DECLS - -#endif /* string.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h.blob deleted file mode 100644 index 2ec97ab..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@string.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h deleted file mode 100644 index a2a2efd..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -#ifndef _STRINGS_H -#define _STRINGS_H 1 - -#include -#define __need_size_t -#include - -/* Tell the caller that we provide correct C++ prototypes. */ -#if defined __cplusplus && __GNUC_PREREQ (4, 4) -# define __CORRECT_ISO_CPP_STRINGS_H_PROTO -#endif - -__BEGIN_DECLS - -#if defined __USE_MISC || !defined __USE_XOPEN2K8 -/* Compare N bytes of S1 and S2 (same as memcmp). */ -extern int bcmp (const void *__s1, const void *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ -extern void bcopy (const void *__src, void *__dest, size_t __n) - __THROW __nonnull ((1, 2)); - -/* Set N bytes of S to 0. */ -extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1)); - -/* Find the first occurrence of C in S (same as strchr). */ -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO -extern "C++" -{ -extern char *index (char *__s, int __c) - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); -extern const char *index (const char *__s, int __c) - __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); - -# if defined __OPTIMIZE__ -__extern_always_inline char * -index (char *__s, int __c) __THROW -{ - return __builtin_index (__s, __c); -} - -__extern_always_inline const char * -index (const char *__s, int __c) __THROW -{ - return __builtin_index (__s, __c); -} -# endif -} -# else -extern char *index (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif - -/* Find the last occurrence of C in S (same as strrchr). */ -# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO -extern "C++" -{ -extern char *rindex (char *__s, int __c) - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); -extern const char *rindex (const char *__s, int __c) - __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); - -# if defined __OPTIMIZE__ -__extern_always_inline char * -rindex (char *__s, int __c) __THROW -{ - return __builtin_rindex (__s, __c); -} - -__extern_always_inline const char * -rindex (const char *__s, int __c) __THROW -{ - return __builtin_rindex (__s, __c); -} -# endif -} -# else -extern char *rindex (const char *__s, int __c) - __THROW __attribute_pure__ __nonnull ((1)); -# endif -#endif - -#if defined __USE_MISC || !defined __USE_XOPEN2K8 || defined __USE_XOPEN2K8XSI -/* Return the position of the first bit set in I, or 0 if none are set. - The least-significant bit is position 1, the most-significant 32. */ -extern int ffs (int __i) __THROW __attribute_const__; -#endif - -/* The following two functions are non-standard but necessary for non-32 bit - platforms. */ -# ifdef __USE_MISC -extern int ffsl (long int __l) __THROW __attribute_const__; -__extension__ extern int ffsll (long long int __ll) - __THROW __attribute_const__; -# endif - -/* Compare S1 and S2, ignoring case. */ -extern int strcasecmp (const char *__s1, const char *__s2) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -/* Compare no more than N chars of S1 and S2, ignoring case. */ -extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) - __THROW __attribute_pure__ __nonnull ((1, 2)); - -#ifdef __USE_XOPEN2K8 -/* POSIX.1-2008 extended locale interface (see locale.h). */ -# include - -/* Compare S1 and S2, ignoring case, using collation rules from LOC. */ -extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) - __THROW __attribute_pure__ __nonnull ((1, 2, 3)); - -/* Compare no more than N chars of S1 and S2, ignoring case, using - collation rules from LOC. */ -extern int strncasecmp_l (const char *__s1, const char *__s2, - size_t __n, locale_t __loc) - __THROW __attribute_pure__ __nonnull ((1, 2, 4)); -#endif - -__END_DECLS - -#if __GNUC_PREREQ (3,4) && __USE_FORTIFY_LEVEL > 0 \ - && defined __fortify_function -/* Functions with security checks. */ -# if defined __USE_MISC || !defined __USE_XOPEN2K8 -# include -# endif -#endif - -#endif /* strings.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h.blob deleted file mode 100644 index 655dfdc..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@strings.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h deleted file mode 100644 index f525f67..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h +++ /dev/null @@ -1,705 +0,0 @@ -/* Copyright (C) 1992-2022 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 - . */ - -#ifndef _SYS_CDEFS_H -#define _SYS_CDEFS_H 1 - -/* We are almost always included from features.h. */ -#ifndef _FEATURES_H -# include -#endif - -/* 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 defined __GNUC__ && !defined __STDC__ && !defined __cplusplus -# error "You need a ISO C or C++ conforming compiler to use the glibc headers" -#endif - -/* 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 (defined __has_attribute \ - && (!defined __clang_minor__ \ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define __glibc_has_attribute(attr) __has_attribute (attr) -#else -# define __glibc_has_attribute(attr) 0 -#endif -#ifdef __has_builtin -# define __glibc_has_builtin(name) __has_builtin (name) -#else -# define __glibc_has_builtin(name) 0 -#endif -#ifdef __has_extension -# define __glibc_has_extension(ext) __has_extension (ext) -#else -# define __glibc_has_extension(ext) 0 -#endif - -#if defined __GNUC__ || defined __clang__ - -/* All functions, except those with callbacks or those that - synchronize memory, are leaf functions. */ -# if __GNUC_PREREQ (4, 6) && !defined _LIBC -# define __LEAF , __leaf__ -# define __LEAF_ATTR __attribute__ ((__leaf__)) -# else -# define __LEAF -# define __LEAF_ATTR -# endif - -/* 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 !defined __cplusplus \ - && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) -# define __THROW __attribute__ ((__nothrow__ __LEAF)) -# define __THROWNL __attribute__ ((__nothrow__)) -# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct -# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct -# else -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) -# if __cplusplus >= 201103L -# define __THROW noexcept (true) -# else -# define __THROW throw () -# endif -# define __THROWNL __THROW -# define __NTH(fct) __LEAF_ATTR fct __THROW -# define __NTHNL(fct) fct __THROW -# else -# define __THROW -# define __THROWNL -# define __NTH(fct) fct -# define __NTHNL(fct) fct -# endif -# endif - -#else /* Not GCC or clang. */ - -# if (defined __cplusplus \ - || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) -# define __inline inline -# else -# define __inline /* No inline functions. */ -# endif - -# define __THROW -# define __THROWNL -# define __NTH(fct) fct - -#endif /* GCC || clang. */ - -/* 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 -# define __BEGIN_DECLS -# define __END_DECLS -#endif - - -/* 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 __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ - || __GNUC_PREREQ (12, 0)) -# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) -# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) -#else -# define __glibc_objsize0(__o) __bos0 (__o) -# define __glibc_objsize(__o) __bos (__o) -#endif - -/* 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)))) \ - -#if __GNUC_PREREQ (4,3) -# define __warnattr(msg) __attribute__((__warning__ (msg))) -# define __errordecl(name, msg) \ - extern void name (void) __attribute__((__error__ (msg))) -#else -# define __warnattr(msg) -# define __errordecl(name, msg) extern void name (void) -#endif - -/* 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 defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc -# define __flexarr [] -# define __glibc_c99_flexarr_available 1 -#elif __GNUC_PREREQ (2,97) || defined __clang__ -/* 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 -#elif defined __GNUC__ -/* 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 -/* Some other non-C99 compiler. Approximate with [1]. */ -# define __flexarr [1] -# define __glibc_c99_flexarr_available 0 -#endif - - -/* __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 (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 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 -# 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 -# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) -# define __ASMNAME2(prefix, cname) __STRING (prefix) cname - -/* -#elif __SOME_OTHER_COMPILER__ - -# define __REDIRECT(name, proto, alias) name proto; \ - _Pragma("let " #name " = " #alias) -*/ -#endif - -/* 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 !(defined __GNUC__ || defined __clang__) -# define __attribute__(xyz) /* Ignore */ -#endif - -/* 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 __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) -# define __attribute_malloc__ __attribute__ ((__malloc__)) -#else -# define __attribute_malloc__ /* Ignore */ -#endif - -/* Tell the compiler which arguments to an allocation function - indicate the size of the allocation. */ -#if __GNUC_PREREQ (4, 3) -# define __attribute_alloc_size__(params) \ - __attribute__ ((__alloc_size__ params)) -#else -# define __attribute_alloc_size__(params) /* Ignore. */ -#endif - -/* Tell the compiler which argument to an allocation function - indicates the alignment of the allocation. */ -#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) -# define __attribute_alloc_align__(param) \ - __attribute__ ((__alloc_align__ param)) -#else -# define __attribute_alloc_align__(param) /* Ignore. */ -#endif - -/* 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 __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) -# define __attribute_pure__ __attribute__ ((__pure__)) -#else -# define __attribute_pure__ /* Ignore */ -#endif - -/* This declaration tells the compiler that the value is constant. */ -#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) -# define __attribute_const__ __attribute__ ((__const__)) -#else -# define __attribute_const__ /* Ignore */ -#endif - -#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) -# define __attribute_maybe_unused__ __attribute__ ((__unused__)) -#else -# define __attribute_maybe_unused__ /* Ignore */ -#endif - -/* 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 __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) -# define __attribute_used__ __attribute__ ((__used__)) -# define __attribute_noinline__ __attribute__ ((__noinline__)) -#else -# define __attribute_used__ __attribute__ ((__unused__)) -# define __attribute_noinline__ /* Ignore */ -#endif - -/* Since version 3.2, gcc allows marking deprecated functions. */ -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) -# define __attribute_deprecated__ __attribute__ ((__deprecated__)) -#else -# define __attribute_deprecated__ /* Ignore */ -#endif - -/* 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 __GNUC_PREREQ (4,5) \ - || __glibc_has_extension (__attribute_deprecated_with_message__) -# define __attribute_deprecated_msg__(msg) \ - __attribute__ ((__deprecated__ (msg))) -#else -# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ -#endif - -/* 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 __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) -# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) -#else -# define __attribute_format_arg__(x) /* Ignore */ -#endif - -/* 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 __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) -# define __attribute_format_strfmon__(a,b) \ - __attribute__ ((__format__ (__strfmon__, a, b))) -#else -# define __attribute_format_strfmon__(a,b) /* Ignore */ -#endif - -/* 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 __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) -# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) -# else -# define __attribute_nonnull__(params) -# endif -#endif -#ifndef __nonnull -# define __nonnull(params) __attribute_nonnull__ (params) -#endif - -/* The returns_nonnull function attribute marks the return type of the function - as always being non-null. */ -#ifndef __returns_nonnull -# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) -# define __returns_nonnull __attribute__ ((__returns_nonnull__)) -# else -# define __returns_nonnull -# endif -#endif - -/* If fortification mode, we warn about unused results of certain - function calls which can lead to problems. */ -#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) -# define __attribute_warn_unused_result__ \ - __attribute__ ((__warn_unused_result__)) -# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 -# define __wur __attribute_warn_unused_result__ -# endif -#else -# define __attribute_warn_unused_result__ /* empty */ -#endif -#ifndef __wur -# define __wur /* Ignore */ -#endif - -/* Forces a function to be always inlined. */ -#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) -/* 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 -# undef __always_inline -# define __always_inline __inline -#endif - -/* Associate error messages with the source location of the call site rather - than with the source location inside the function. */ -#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) -# define __attribute_artificial__ __attribute__ ((__artificial__)) -#else -# define __attribute_artificial__ /* Ignore */ -#endif - -/* 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 (!defined __cplusplus || __GNUC_PREREQ (4,3) \ - || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ - || defined __GNUC_GNU_INLINE__))) -# if defined __GNUC_STDC_INLINE__ || defined __cplusplus -# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) -# define __extern_always_inline \ - extern __always_inline __attribute__ ((__gnu_inline__)) -# else -# define __extern_inline extern __inline -# define __extern_always_inline extern __always_inline -# endif -#endif - -#ifdef __extern_always_inline -# define __fortify_function __extern_always_inline __attribute_artificial__ -#endif - -/* GCC 4.3 and above allow passing all anonymous arguments of an - __extern_always_inline function to some other vararg function. */ -#if __GNUC_PREREQ (4,3) -# define __va_arg_pack() __builtin_va_arg_pack () -# define __va_arg_pack_len() __builtin_va_arg_pack_len () -#endif - -/* 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 !(__GNUC_PREREQ (2,8) || defined __clang__) -# define __extension__ /* Ignore */ -#endif - -/* __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 !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -# define __restrict restrict -# else -# define __restrict /* Ignore */ -# endif -#endif - -/* 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 (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus -# define __restrict_arr __restrict -#else -# ifdef __GNUC__ -# define __restrict_arr /* Not supported in old GCC. */ -# else -# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -# define __restrict_arr restrict -# else -/* Some other non-C99 compiler. */ -# define __restrict_arr /* Not supported. */ -# endif -# endif -#endif - -#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) -# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) -# define __glibc_likely(cond) __builtin_expect ((cond), 1) -#else -# define __glibc_unlikely(cond) (cond) -# define __glibc_likely(cond) (cond) -#endif - -#if (!defined _Noreturn \ - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && !(__GNUC_PREREQ (4,7) \ - || (3 < __clang_major__ + (5 <= __clang_minor__)))) -# if __GNUC_PREREQ (2,8) -# define _Noreturn __attribute__ ((__noreturn__)) -# else -# define _Noreturn -# endif -#endif - -#if __GNUC_PREREQ (8, 0) -/* 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 -# define __attribute_nonstring__ -#endif - -/* Undefine (also defined in libc-symbols.h). */ -#undef __attribute_copy__ -#if __GNUC_PREREQ (9, 0) -/* Copies attributes from the declaration or type referenced by - the argument. */ -# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) -#else -# define __attribute_copy__(arg) -#endif - -#if (!defined _Static_assert && !defined __cplusplus \ - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ - || defined __STRICT_ANSI__)) -# define _Static_assert(expr, diagnostic) \ - extern int (*__Static_assert_function (void)) \ - [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] -#endif - -/* Gnulib avoids including these, as they don't work on non-glibc or - older glibc platforms. */ -#ifndef __GNULIB_CDEFS -# include -# include -#endif - -#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# 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")); - -/* 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 __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl -# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth - -# else -_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); -# endif -#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH -# 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 -#endif -#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ - || !defined __REDIRECT -# 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 -#endif - -/* __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 __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) -# define __glibc_macro_warning1(message) _Pragma (#message) -# define __glibc_macro_warning(message) \ - __glibc_macro_warning1 (GCC warning message) -#else -# define __glibc_macro_warning(msg) -#endif - -/* 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 !defined __cplusplus \ - && (__GNUC_PREREQ (4, 9) \ - || __glibc_has_extension (c_generic_selections) \ - || (!defined __GNUC__ && defined __STDC_VERSION__ \ - && __STDC_VERSION__ >= 201112L)) -# define __HAVE_GENERIC_SELECTION 1 -#else -# define __HAVE_GENERIC_SELECTION 0 -#endif - -#if __GNUC_PREREQ (10, 0) -/* 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, [, ]) */ -# 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 __USE_FORTIFY_LEVEL == 3 -# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) -# else -# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) -# endif -# if __GNUC_PREREQ (11, 0) -# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) -# else -# define __attr_access_none(argno) -# endif -#else -# define __fortified_attr_access(a, o, s) -# define __attr_access(x) -# define __attr_access_none(argno) -#endif - -#if __GNUC_PREREQ (11, 0) -/* 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 -# define __attr_dealloc(dealloc, argno) -# define __attr_dealloc_free -#endif - -/* Specify that a function such as setjmp or vfork may return - twice. */ -#if __GNUC_PREREQ (4, 1) -# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) -#else -# define __attribute_returns_twice__ /* Ignore. */ -#endif - -#endif /* sys/cdefs.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h.blob deleted file mode 100644 index ef37d30..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@cdefs.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h deleted file mode 100644 index 7a27bd9..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h +++ /dev/null @@ -1,155 +0,0 @@ -/* `fd_set' type and related macros, and `select'/`pselect' declarations. - Copyright (C) 1996-2022 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 - . */ - -/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets */ - -#ifndef _SYS_SELECT_H -#define _SYS_SELECT_H 1 - -#include - -/* Get definition of needed basic types. */ -#include - -/* Get __FD_* definitions. */ -#include - -/* Get sigset_t. */ -#include - -/* Get definition of timer specification structures. */ -#include -#include -#ifdef __USE_XOPEN2K -# include -#endif - -#ifndef __suseconds_t_defined -typedef __suseconds_t suseconds_t; -# define __suseconds_t_defined -#endif - - -/* The fd_set member is required to be an array of longs. */ -typedef long int __fd_mask; - -/* Some versions of define this macros. */ -#undef __NFDBITS -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ -#define __NFDBITS (8 * (int) sizeof (__fd_mask)) -#define __FD_ELT(d) ((d) / __NFDBITS) -#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) - -/* fd_set for select and pselect. */ -typedef struct - { - /* XPG4.2 requires this member name. Otherwise avoid the name - from the global namespace. */ -#ifdef __USE_XOPEN - __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; -# define __FDS_BITS(set) ((set)->fds_bits) -#else - __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; -# define __FDS_BITS(set) ((set)->__fds_bits) -#endif - } fd_set; - -/* Maximum number of file descriptors in `fd_set'. */ -#define FD_SETSIZE __FD_SETSIZE - -#ifdef __USE_MISC -/* Sometimes the fd_set member is assumed to have this type. */ -typedef __fd_mask fd_mask; - -/* Number of bits per word of `fd_set' (some code assumes this is 32). */ -# define NFDBITS __NFDBITS -#endif - - -/* Access macros for `fd_set'. */ -#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) -#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) -#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) -#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) - - -__BEGIN_DECLS - -/* Check the first NFDS descriptors each in READFDS (if not NULL) for read - readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS - (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out - after waiting the interval specified therein. Returns the number of ready - descriptors, or -1 for errors. - - This function is a cancellation point and therefore not marked with - __THROW. */ -#ifndef __USE_TIME_BITS64 -extern int select (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout); -#else -# ifdef __REDIRECT -extern int __REDIRECT (select, - (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - struct timeval *__restrict __timeout), - __select64); -# else -# define select __select64 -# endif -#endif - -#ifdef __USE_XOPEN2K -/* Same as above only that the TIMEOUT value is given with higher - resolution and a sigmask which is been set temporarily. This version - should be used. - - This function is a cancellation point and therefore not marked with - __THROW. */ -# ifndef __USE_TIME_BITS64 -extern int pselect (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask); -# else -# ifdef __REDIRECT -extern int __REDIRECT (pselect, - (int __nfds, fd_set *__restrict __readfds, - fd_set *__restrict __writefds, - fd_set *__restrict __exceptfds, - const struct timespec *__restrict __timeout, - const __sigset_t *__restrict __sigmask), - __pselect64); -# else -# define pselect __pselect64 -# endif -# endif -#endif - - -/* Define some inlines helping to catch common problems. */ -#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__ -# include -#endif - -__END_DECLS - -#endif /* sys/select.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h.blob deleted file mode 100644 index a81d1d0..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@select.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h deleted file mode 100644 index bb76bab..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h +++ /dev/null @@ -1,232 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -/* - * POSIX Standard: 2.6 Primitive System Data Types - */ - -#ifndef _SYS_TYPES_H -#define _SYS_TYPES_H 1 - -#include - -__BEGIN_DECLS - -#include - -#ifdef __USE_MISC -# ifndef __u_char_defined -typedef __u_char u_char; -typedef __u_short u_short; -typedef __u_int u_int; -typedef __u_long u_long; -typedef __quad_t quad_t; -typedef __u_quad_t u_quad_t; -typedef __fsid_t fsid_t; -# define __u_char_defined -# endif -typedef __loff_t loff_t; -#endif - -#ifndef __ino_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __ino_t ino_t; -# else -typedef __ino64_t ino_t; -# endif -# define __ino_t_defined -#endif -#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined -typedef __ino64_t ino64_t; -# define __ino64_t_defined -#endif - -#ifndef __dev_t_defined -typedef __dev_t dev_t; -# define __dev_t_defined -#endif - -#ifndef __gid_t_defined -typedef __gid_t gid_t; -# define __gid_t_defined -#endif - -#ifndef __mode_t_defined -typedef __mode_t mode_t; -# define __mode_t_defined -#endif - -#ifndef __nlink_t_defined -typedef __nlink_t nlink_t; -# define __nlink_t_defined -#endif - -#ifndef __uid_t_defined -typedef __uid_t uid_t; -# define __uid_t_defined -#endif - -#ifndef __off_t_defined -# ifndef __USE_FILE_OFFSET64 -typedef __off_t off_t; -# else -typedef __off64_t off_t; -# endif -# define __off_t_defined -#endif -#if defined __USE_LARGEFILE64 && !defined __off64_t_defined -typedef __off64_t off64_t; -# define __off64_t_defined -#endif - -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) \ - && !defined __id_t_defined -typedef __id_t id_t; -# define __id_t_defined -#endif - -#ifndef __ssize_t_defined -typedef __ssize_t ssize_t; -# define __ssize_t_defined -#endif - -#ifdef __USE_MISC -# ifndef __daddr_t_defined -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; -# define __daddr_t_defined -# endif -#endif - -#if (defined __USE_MISC || defined __USE_XOPEN) && !defined __key_t_defined -typedef __key_t key_t; -# define __key_t_defined -#endif - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -# include -#endif -#include -#include -#include - -#ifdef __USE_XOPEN -# ifndef __useconds_t_defined -typedef __useconds_t useconds_t; -# define __useconds_t_defined -# endif -# ifndef __suseconds_t_defined -typedef __suseconds_t suseconds_t; -# define __suseconds_t_defined -# endif -#endif - -#define __need_size_t -#include - -#ifdef __USE_MISC -/* Old compatibility names for C types. */ -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; -#endif - -/* These size-specific names are used by some of the inet code. */ - -#include - -/* These were defined by ISO C without the first `_'. */ -typedef __uint8_t u_int8_t; -typedef __uint16_t u_int16_t; -typedef __uint32_t u_int32_t; -typedef __uint64_t u_int64_t; - -#if __GNUC_PREREQ (2, 7) -typedef int register_t __attribute__ ((__mode__ (__word__))); -#else -typedef int register_t; -#endif - -/* Some code from BIND tests this macro to see if the types above are - defined. */ -#define __BIT_TYPES_DEFINED__ 1 - - -#ifdef __USE_MISC -/* In BSD is expected to define BYTE_ORDER. */ -# include - -/* It also defines `fd_set' and the FD_* macros for `select'. */ -# include -#endif /* Use misc. */ - - -#if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \ - && !defined __blksize_t_defined -typedef __blksize_t blksize_t; -# define __blksize_t_defined -#endif - -/* Types from the Large File Support interface. */ -#ifndef __USE_FILE_OFFSET64 -# ifndef __blkcnt_t_defined -typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ -# define __blkcnt_t_defined -# endif -# ifndef __fsblkcnt_t_defined -typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ -# define __fsblkcnt_t_defined -# endif -# ifndef __fsfilcnt_t_defined -typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ -# define __fsfilcnt_t_defined -# endif -#else -# ifndef __blkcnt_t_defined -typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ -# define __blkcnt_t_defined -# endif -# ifndef __fsblkcnt_t_defined -typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ -# define __fsblkcnt_t_defined -# endif -# ifndef __fsfilcnt_t_defined -typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ -# define __fsfilcnt_t_defined -# endif -#endif - -#ifdef __USE_LARGEFILE64 -typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ -typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ -typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ -#endif - - -/* Now add the thread types. */ -#if defined __USE_POSIX199506 || defined __USE_UNIX98 -# include -#endif - -__END_DECLS - -#endif /* sys/types.h */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h.blob deleted file mode 100644 index 679bb41..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@sys@types.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h deleted file mode 100644 index d180891..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h +++ /dev/null @@ -1,454 +0,0 @@ -/* Copyright (C) 1991-2022 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 - . */ - -/* - * ISO C99 Standard: 7.23 Date and time - */ - -#ifndef _TIME_H -#define _TIME_H 1 - -#include - -#define __need_size_t -#define __need_NULL -#include - -/* This defines CLOCKS_PER_SEC, which is the number of processor clock - ticks per second, and possibly a number of other constants. */ -#include - -/* Many of the typedefs and structs whose official home is this header - may also need to be defined by other headers. */ -#include -#include -#include - -#if defined __USE_POSIX199309 || defined __USE_ISOC11 -# include -#endif - -#ifdef __USE_POSIX199309 -# include -# include -# include -struct sigevent; -#endif - -#ifdef __USE_XOPEN2K -# ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -# endif -#endif - -#ifdef __USE_XOPEN2K8 -# include -#endif - -#ifdef __USE_ISOC11 -/* Time base values for timespec_get. */ -# define TIME_UTC 1 -#endif - -__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 -# 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 -# define time __time64 -# define difftime __difftime64 -# define mktime __mktime64 -# endif -#endif - -/* 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; - -#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 - -#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 - -#ifdef __USE_GNU -extern char *strptime_l (const char *__restrict __s, - const char *__restrict __fmt, struct tm *__tp, - locale_t __loc) __THROW; -#endif - - -#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 -# 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 -# define gmtime __gmtime64 -# define localtime __localtime64 -# endif -#endif - - -#if defined __USE_POSIX || __GLIBC_USE (ISOC2X) -# 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 -# 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 -# define gmtime_r __gmtime64_r -# define localtime_r __localtime_r -# endif -# endif -#endif /* POSIX || C2X */ - -/* 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 -# ifdef __REDIRECT_NTH -extern char *__REDIRECT_NTH (ctime, (const time_t *__timer), __ctime64); -# else -# define ctime __ctime64 -# endif -#endif - -#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 -# ifdef __REDIRECT_NTH -extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict __timer, - char *__restrict __buf), __ctime64_r); -# else -# define ctime_r __ctime64_r -# endif -#endif - -#endif /* POSIX */ - - -/* Defined in localtime.c. */ -extern char *__tzname[2]; /* Current timezone names. */ -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 - -#if defined __USE_MISC || defined __USE_XOPEN -extern int daylight; -extern long int timezone; -#endif - - -/* 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 defined __USE_MISC || __GLIBC_USE (ISOC2X) -# ifndef __USE_TIME_BITS64 -/* Like `mktime', but for TP represents Universal Time, not local time. */ -extern time_t timegm (struct tm *__tp) __THROW; -# else -# ifdef __REDIRECT_NTH -extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); -# else -# define timegm __timegm64 -# endif -# endif -#endif - - -#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 -# ifdef __REDIRECT_NTH -extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64); -# endif -#endif - -/* Return the number of days in YEAR. */ -extern int dysize (int __year) __THROW __attribute__ ((__const__)); -#endif - - -#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 -# 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 -# define nanosleep __nanosleep64 -# define clock_getres __clock_getres64 -# define clock_gettime __clock_gettime64 -# define clock_settime __clock_settime64 -# endif -# endif - - -# 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 -# ifdef __REDIRECT -extern int __REDIRECT (clock_nanosleep, (clockid_t __clock_id, int __flags, - const struct timespec *__req, - struct timespec *__rem), - __clock_nanosleep_time64); -# else -# define clock_nanosleep __clock_nanosleep_time64 -# endif -# endif - -/* Return clock ID for CPU-time clock. */ -extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __THROW; -# endif - - -/* 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 -# 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 -# define timer_settime __timer_settime64 -# define timer_gettime __timer_gettime64 -# endif -# endif - -/* Get expiration overrun for timer TIMERID. */ -extern int timer_getoverrun (timer_t __timerid) __THROW; -#endif - - -#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 -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int __base), - __timespec_get64) __nonnull ((1)); -# else -# define timespec_get __timespec_get64 -# endif -# endif -#endif - - -#if __GLIBC_USE (ISOC2X) -# ifndef __USE_TIME_BITS64 -/* Set TS to resolution of time base BASE. */ -extern int timespec_getres (struct timespec *__ts, int __base) - __THROW; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (timespec_getres, (struct timespec *__ts, - int __base), - __timespec_getres64); -# else -# define timespec_getres __timespec_getres64 -# endif -# endif -#endif - - -#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 - -#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 - -__END_DECLS - -#endif /* time.h. */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h.blob deleted file mode 100644 index ac19188..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@include@time.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h deleted file mode 100644 index 0bc3940..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h +++ /dev/null @@ -1,35 +0,0 @@ -/*===---- 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 - * - *===-----------------------------------------------------------------------=== - */ - -#ifndef __STDARG_H -#define __STDARG_H - -#ifndef _VA_LIST -typedef __builtin_va_list va_list; -#define _VA_LIST -#endif -#define va_start(ap, param) __builtin_va_start(ap, param) -#define va_end(ap) __builtin_va_end(ap) -#define va_arg(ap, type) __builtin_va_arg(ap, type) - -/* 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. - */ -#define __va_copy(d,s) __builtin_va_copy(d,s) - -#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__) -#define va_copy(dest, src) __builtin_va_copy(dest, src) -#endif - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST 1 -typedef __builtin_va_list __gnuc_va_list; -#endif - -#endif /* __STDARG_H */ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h.blob deleted file mode 100644 index 516cb04..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stdarg.h.blob and /dev/null differ diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h b/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h deleted file mode 100644 index 15acd44..0000000 --- a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h +++ /dev/null @@ -1,121 +0,0 @@ -/*===---- 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 - * - *===-----------------------------------------------------------------------=== - */ - -#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \ - defined(__need_size_t) || defined(__need_wchar_t) || \ - defined(__need_NULL) || defined(__need_wint_t) - -#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ - !defined(__need_wchar_t) && !defined(__need_NULL) && \ - !defined(__need_wint_t) -/* Always define miscellaneous pieces when modules are available. */ -#if !__has_feature(modules) -#define __STDDEF_H -#endif -#define __need_ptrdiff_t -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#define __need_STDDEF_H_misc -/* __need_wint_t is intentionally not defined here. */ -#endif - -#if defined(__need_ptrdiff_t) -#if !defined(_PTRDIFF_T) || __has_feature(modules) -/* Always define ptrdiff_t when modules are available. */ -#if !__has_feature(modules) -#define _PTRDIFF_T -#endif -typedef __PTRDIFF_TYPE__ ptrdiff_t; -#endif -#undef __need_ptrdiff_t -#endif /* defined(__need_ptrdiff_t) */ - -#if defined(__need_size_t) -#if !defined(_SIZE_T) || __has_feature(modules) -/* Always define size_t when modules are available. */ -#if !__has_feature(modules) -#define _SIZE_T -#endif -typedef __SIZE_TYPE__ size_t; -#endif -#undef __need_size_t -#endif /*defined(__need_size_t) */ - -#if defined(__need_STDDEF_H_misc) -/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is - * enabled. */ -#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \ - !defined(_RSIZE_T)) || __has_feature(modules) -/* Always define rsize_t when modules are available. */ -#if !__has_feature(modules) -#define _RSIZE_T -#endif -typedef __SIZE_TYPE__ rsize_t; -#endif -#endif /* defined(__need_STDDEF_H_misc) */ - -#if defined(__need_wchar_t) -#ifndef __cplusplus -/* Always define wchar_t when modules are available. */ -#if !defined(_WCHAR_T) || __has_feature(modules) -#if !__has_feature(modules) -#define _WCHAR_T -#if defined(_MSC_EXTENSIONS) -#define _WCHAR_T_DEFINED -#endif -#endif -typedef __WCHAR_TYPE__ wchar_t; -#endif -#endif -#undef __need_wchar_t -#endif /* defined(__need_wchar_t) */ - -#if defined(__need_NULL) -#undef NULL -#ifdef __cplusplus -# if !defined(__MINGW32__) && !defined(_MSC_VER) -# define NULL __null -# else -# define NULL 0 -# endif -#else -# define NULL ((void*)0) -#endif -#ifdef __cplusplus -#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) -namespace std { typedef decltype(nullptr) nullptr_t; } -using ::std::nullptr_t; -#endif -#endif -#undef __need_NULL -#endif /* defined(__need_NULL) */ - -#if defined(__need_STDDEF_H_misc) -#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L -#include "__stddef_max_align_t.h" -#endif -#define offsetof(t, d) __builtin_offsetof(t, d) -#undef __need_STDDEF_H_misc -#endif /* defined(__need_STDDEF_H_misc) */ - -/* 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 defined(__need_wint_t) -/* Always define wint_t when modules are available. */ -#if !defined(_WINT_T) || __has_feature(modules) -#if !__has_feature(modules) -#define _WINT_T -#endif -typedef __WINT_TYPE__ wint_t; -#endif -#undef __need_wint_t -#endif /* __need_wint_t */ - -#endif diff --git a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h.blob b/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h.blob deleted file mode 100644 index f4110f0..0000000 Binary files a/.ccls-cache/@@home@huck@.repos@odot/@usr@lib@clang@14.0.6@include@stddef.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/dialogue.c b/.ccls-cache/@home@huck@.repos@odot/dialogue.c deleted file mode 100644 index 7e7fdc6..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/dialogue.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "odot.h" - - diff --git a/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob b/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob deleted file mode 100644 index 81e389a..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/dialogue.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/file.c b/.ccls-cache/@home@huck@.repos@odot/file.c deleted file mode 100644 index b35d721..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/file.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "odot.h" - -void add(struct task t){ - char *line = malloc(MAXLINE*sizeof(char)); printf("\talloc\n"); - FILE *fp = fopen("/home/huck/.local/state/odot/todo.txt", "r"); - FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); printf("\tfopen\n"); - int i = 0; - - if (fgets(line,MAXLINE,fp) == NULL){ printf("\tNULLcheck\n"); - puttask(t,buf); - } else { - printf("\tloopstart\n"); - int j = 0; - while (fgets(line,MAXLINE,fp) != NULL){ - printf("\t%i-nloop\n", ++j); - switch (listcheck(t,line)){ - case 3: - dialogue("Already on todo list", t.task, CYAN); - printf("Remove from list?"); - if (check() == 0){ - break; - } else { - puttask(*gettask(line), buf); - break; - } - case 1: - dialogue("Already on list in a different group", gettask(line)->group, YELLOW); - if (check() == 0){ - puttask(t,buf); - i++; - } - puttask(*gettask(line), buf); - break; - default: - /* first time t.task is lexigraphically greater than a previous task */ - if (i == 0 && strcmp(line,t.task) > 0){ - puttask(t,buf); - ++i; - } - puttask(*gettask(line), buf); - break; - } - } - } - - fclose(fp); - fclose(buf); - rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - fp = fopen("/home/huck/.local/state/odot/todo.txt", "w+"); - if (!fp) - error(1); - return; -} - - -void rem(struct task t){ - char *s = malloc(MAXLINE * sizeof(char)); - FILE *fp = fopen("/home/huck/.local/state/odot/todo.txt", "r"); - FILE *buf = fopen("/home/huck/.local/state/odot/odot.txt", "w+"); - int i = 0; - - while (fgets(s, MAXLINE, fp) != NULL){ - s[strlen(s) - 1] = 0; - if (strcmp(t.task, s) != 0){ - fputs(strcat(s,"\t"),buf); - } else { - i++; - } - } - - fclose(fp); - fclose(buf); - remove ("/home/huck/.local/state/odot/todo.txt"); - rename("/home/huck/.local/state/odot/odot.txt", "/home/huck/.local/state/odot/todo.txt"); - - if (i == 0){ - dialogue("Task not found", t.task, YELLOW); - printf("Add to list?"); - if(check() == 0){ - add(t); - } - } -} - -void show(char *group){ - char *task = malloc(MAXLINE * sizeof(char)); - FILE *f = fopen("/home/huck/.local/state/odot/todo.txt", "r"); - struct task tmp; - - printf("\twhileloop\n"); - int j = 0; - while ((fgets(task, MAXLINE, f)) != NULL ){ - tmp = *gettask(task); printf("\t%i-nloop\n", ++j); - if (strcmp(group, "all") == 0 || strcmp(tmp.group, group) == 0){ - formattask(tmp); - } - } - fclose(f); -} - diff --git a/.ccls-cache/@home@huck@.repos@odot/file.c.blob b/.ccls-cache/@home@huck@.repos@odot/file.c.blob deleted file mode 100644 index 10974b9..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/file.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/func.c b/.ccls-cache/@home@huck@.repos@odot/func.c deleted file mode 100644 index 73d6a23..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/func.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "odot.h" - diff --git a/.ccls-cache/@home@huck@.repos@odot/func.c.blob b/.ccls-cache/@home@huck@.repos@odot/func.c.blob deleted file mode 100644 index 806d62e..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/func.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/input.c b/.ccls-cache/@home@huck@.repos@odot/input.c deleted file mode 100644 index 39070dd..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/input.c +++ /dev/null @@ -1,86 +0,0 @@ -#include "odot.h" - -struct task getnote(int n, char *arg[], char *group){ - char *note = malloc(MAXLINE * sizeof(char)); - struct task *tmp; - - if (n == 1){ - printf("\t\treturn from note\n"); - return *tmp; - } - - - while(--n > 0){ - printf("\t%i-nloop\n",n); - if ((*++arg)[0] != '-'){ - strcat(note, *arg); - strcat(note, " "); - } else if (strcmp(*arg,"-g") == 0){ - strcpy(group, (*++arg)); - n--; - } - } - printf("\t%s %s getnote\n",note,group); - tmp = maketask(note,group); - return *tmp; -} - -/* uses a 3 bit number to represent options - 1 - show list - 2 - add to list - 4 - remove from list -*/ -short getopt(int n, char *arg[]){ - short options; - - printf("\treturn1\n"); - /* show list if no arguments given */ - if (n == 1) - return 1; - - printf("\tcheckopt\n"); - while (--n > 0 && (*++arg)[0] == '-'){ - /* if theres a d delete, otherwise add */ - options += strchr(*arg, 's') ? 1 : 0; - options += strchr(*arg, 'n') ? 2 : 0; - options += strchr(*arg, 'd') ? 4 : 0; - } - printf("\t%i-optcode\n", options); - if ((options - 5) > 0) - error(2); - return options; -} - - -struct task *maketask(char *task, char *group){ - printf("\tmaketask\n"); - struct task *tmp; - - tmp->task = malloc(strlen(task) * sizeof(char)); - tmp->group = malloc(strlen(group) * sizeof(char)); - - strcpy(tmp->task,task); - strcpy(tmp->group,(strcmp(tmp->group,"") == 0) ? "all" : group); - - printf("\t%s-task %s-group\n",tmp->task,tmp->group); - - return tmp; -} - - -struct task *gettask(char *c){ - char *task, *group; - task = malloc(strlen(c) * sizeof(char)); - group = malloc(strlen(c) * sizeof(char)); - - sscanf(c,"%s\t%s",task,group); - - struct task *tmp = maketask(task,group); - - return tmp; -} - -void puttask(struct task t, FILE *fp){ - printf("\t%s %s puttask\n", t.task, t.group); - fprintf(fp,"%s\t%s\n",t.task,t.group); -} diff --git a/.ccls-cache/@home@huck@.repos@odot/input.c.blob b/.ccls-cache/@home@huck@.repos@odot/input.c.blob deleted file mode 100644 index 73f17da..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/input.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/main.c b/.ccls-cache/@home@huck@.repos@odot/main.c deleted file mode 100644 index ddb7205..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/main.c +++ /dev/null @@ -1,88 +0,0 @@ -#include -#include -#include - -#define MAXLINE 500 -#define LIST "/home/huck/.local/state/odot/todo.txt" -#define DONE "/home/huck/.local/state/odot/done.txt" -#define TMP "/home/huck/.local/state/odot/odot.txt" - -int getopt(int, char **); -char *getnote(int, char **); - -void addnote(char *); -void show(); - -int main(int argc, char *argv[]){ - - if (argc == 1){ - show(); - } else { - addnote(getnote(argc,argv)); - } - return 0; -} - -char *getnote(int n, char *arg[]){ - char *s = malloc(MAXLINE * sizeof(char)); - while (--n > 0){ - strcat(s,*++arg); - strcat(s,(n > 1) ? " " : "\n"); - } - return s; -} - -void addnote(char *note){ - int i = 0; - char *buf = malloc(MAXLINE * sizeof(char)); - - FILE *fp = fopen(LIST,"r"); - FILE *fdone = fopen(DONE,"a"); - FILE *tmp = fopen(TMP,"w"); - if(!fp || !tmp || !fdone) - exit(1); - - while(fgets(buf, MAXLINE, fp)){ - if (strcmp(note,buf) > 0){ - fputs(buf,tmp); - } else if (strcmp(note,buf) == 0){ - fputs(note,fdone); - printf("Removed from list: %s", note); - i++; - } else if (strcmp(note,buf) < 0){ - if (i == 0){ - fputs(note,tmp); - printf("Added to list: %s", note); - i++; - } - fputs(buf,tmp); - } - } - if (i == 0){ - fputs(note,tmp); - printf("Added to list: %s", note); - } - - fclose(tmp); - fclose(fp); - fclose(fdone); - free(buf); - remove(LIST); - rename(TMP,LIST); - return; -} - -void show(void){ - FILE *fp = fopen(LIST,"r"); - char *buf = malloc(MAXLINE * sizeof(char)); - - printf("\033[36;1mTODO\033[0m:\n"); - while(fgets(buf,MAXLINE,fp)){ - printf(" \033[35;1m*\033[0m %s", buf); - } - - free(buf); - fclose(fp); - return; -} - diff --git a/.ccls-cache/@home@huck@.repos@odot/main.c.blob b/.ccls-cache/@home@huck@.repos@odot/main.c.blob deleted file mode 100644 index 4049b12..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/main.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h b/.ccls-cache/@home@huck@.repos@odot/odot.h deleted file mode 100644 index 27623c9..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/odot.h +++ /dev/null @@ -1,36 +0,0 @@ -#include -#include -#include -#include -#include -#define TODOLIST "/home/huck/.local/state/odot/todo" - -#define MAXLINE 1000 -#define TIME "%H:%M %m-%d-%y" - -struct task { - char *task; - char *group; -}; - -struct task getnote(int, char *[], char *); -short getopt(int, char *[]); - -void add(struct task); -void rem(struct task); -void show(char *group); - -int listcheck(struct task, char *); -int geturgency(int); -char *gettime(void); - -void dialogue(char *, char *, int); -void formattask(struct task t); -void error(int); -int check(void); - -struct task *maketask(char *, char *); -void puttask(struct task n, FILE*); -struct task *gettask(char *); - -enum color {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE}; diff --git a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob b/.ccls-cache/@home@huck@.repos@odot/odot.h.blob deleted file mode 100644 index 538f23e..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/odot.h.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/structure.c b/.ccls-cache/@home@huck@.repos@odot/structure.c deleted file mode 100644 index 65828eb..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/structure.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "odot.h" - -extern FILE *fp; - - diff --git a/.ccls-cache/@home@huck@.repos@odot/structure.c.blob b/.ccls-cache/@home@huck@.repos@odot/structure.c.blob deleted file mode 100644 index af2db94..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/structure.c.blob and /dev/null differ diff --git a/.ccls-cache/@home@huck@.repos@odot/test.c b/.ccls-cache/@home@huck@.repos@odot/test.c deleted file mode 100644 index f1e123c..0000000 --- a/.ccls-cache/@home@huck@.repos@odot/test.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -int main(int argc, char *argv[]){ - FILE *fp = fopen("/home/huck/.local/state/odot/todo", "w+"); - - fclose(fp); - return 0; -} - diff --git a/.ccls-cache/@home@huck@.repos@odot/test.c.blob b/.ccls-cache/@home@huck@.repos@odot/test.c.blob deleted file mode 100644 index a89433e..0000000 Binary files a/.ccls-cache/@home@huck@.repos@odot/test.c.blob and /dev/null differ