mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-12 00:37:41 +01:00
92b3138b83
Updated dependencies: * GMP 6.2.1 * ISL 0.24 * MPL 1.2.1 * MPFR 4.1.0 The dependencies were pulled in by running the ./contrib/download_prerequisites script and then manually removing the symbolic links and archives, and renaming the directories (i.e mv isl-0.24 to isl)
563 lines
16 KiB
D
563 lines
16 KiB
D
/**
|
|
* D header file for C99.
|
|
*
|
|
* $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_stdint.h.html, _stdint.h)
|
|
*
|
|
* Copyright: Copyright Sean Kelly 2005 - 2018
|
|
* License: Distributed under the
|
|
* $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
|
|
* (See accompanying file LICENSE)
|
|
* Authors: Sean Kelly
|
|
* Source: $(DRUNTIMESRC core/stdc/_stdint.d)
|
|
* Standards: ISO/IEC 9899:1999 (E)
|
|
*/
|
|
|
|
module core.stdc.stdint;
|
|
|
|
import core.stdc.config;
|
|
import core.stdc.stddef; // for wchar_t
|
|
import core.stdc.signal; // for sig_atomic_t
|
|
import core.stdc.wchar_; // for wint_t
|
|
|
|
version (OSX)
|
|
version = Darwin;
|
|
else version (iOS)
|
|
version = Darwin;
|
|
else version (TVOS)
|
|
version = Darwin;
|
|
else version (WatchOS)
|
|
version = Darwin;
|
|
|
|
// Can't be `private` because of @@@BUG11173@@@.
|
|
T _typify(T)(T val) @safe pure nothrow { return val; }
|
|
|
|
extern (C):
|
|
@trusted: // Types and constants only.
|
|
nothrow:
|
|
@nogc:
|
|
|
|
|
|
static if (is(ucent))
|
|
{
|
|
alias int128_t = cent; ///
|
|
alias uint128_t = ucent; ///
|
|
}
|
|
|
|
version (Windows)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
version (CRuntime_DigitalMars)
|
|
{
|
|
alias int32_t = cpp_long; ///
|
|
alias uint32_t = cpp_ulong; ///
|
|
}
|
|
else
|
|
{
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
}
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int32_t; ///
|
|
alias uint_least32_t = uint32_t; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
version (MinGW)
|
|
{
|
|
alias int_fast16_t = short; ///
|
|
alias uint_fast16_t = ushort; ///
|
|
}
|
|
else
|
|
{
|
|
alias int_fast16_t = int; ///
|
|
alias uint_fast16_t = uint; ///
|
|
}
|
|
alias int_fast32_t = int32_t; ///
|
|
alias uint_fast32_t = uint32_t; ///
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (Darwin)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = cpp_longlong; ///
|
|
alias uint64_t = cpp_ulonglong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = int64_t; ///
|
|
alias uint_least64_t = uint64_t; ///
|
|
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = short; ///
|
|
alias uint_fast16_t = ushort; ///
|
|
alias int_fast32_t = int; ///
|
|
alias uint_fast32_t = uint; ///
|
|
alias int_fast64_t = int64_t; ///
|
|
alias uint_fast64_t = uint64_t; ///
|
|
|
|
alias intptr_t = cpp_long; ///
|
|
alias uintptr_t = cpp_ulong; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (linux)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
version (CRuntime_Musl)
|
|
{
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = int; ///
|
|
alias uint_fast16_t = uint; ///
|
|
alias int_fast32_t = int; ///
|
|
alias uint_fast32_t = uint; ///
|
|
}
|
|
else
|
|
{
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = ptrdiff_t; ///
|
|
alias uint_fast16_t = size_t; ///
|
|
alias int_fast32_t = ptrdiff_t; ///
|
|
alias uint_fast32_t = size_t; ///
|
|
}
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (CRuntime_Glibc)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = ptrdiff_t; ///
|
|
alias uint_fast16_t = size_t; ///
|
|
alias int_fast32_t = ptrdiff_t; ///
|
|
alias uint_fast32_t = size_t; ///
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (DragonFlyBSD)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = int8_t; ///
|
|
alias uint_least8_t = uint8_t; ///
|
|
alias int_least16_t = int16_t; ///
|
|
alias uint_least16_t = uint16_t; ///
|
|
alias int_least32_t = int32_t; ///
|
|
alias uint_least32_t = uint32_t; ///
|
|
alias int_least64_t = int64_t; ///
|
|
alias uint_least64_t = uint64_t; ///
|
|
|
|
alias int_fast8_t = int32_t; ///
|
|
alias uint_fast8_t = uint32_t; ///
|
|
alias int_fast16_t = int32_t; ///
|
|
alias uint_fast16_t = uint32_t; ///
|
|
alias int_fast32_t = int32_t; ///
|
|
alias uint_fast32_t = uint32_t; ///
|
|
alias int_fast64_t = int64_t; ///
|
|
alias uint_fast64_t = uint64_t; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (FreeBSD)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
alias int_fast8_t = int; ///
|
|
alias uint_fast8_t = uint; ///
|
|
alias int_fast16_t = int; ///
|
|
alias uint_fast16_t = uint; ///
|
|
alias int_fast32_t = int; ///
|
|
alias uint_fast32_t = uint; ///
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (NetBSD)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = int8_t; ///
|
|
alias uint_least8_t = uint8_t; ///
|
|
alias int_least16_t = int16_t; ///
|
|
alias uint_least16_t = uint16_t; ///
|
|
alias int_least32_t = int32_t; ///
|
|
alias uint_least32_t = uint32_t; ///
|
|
alias int_least64_t = int64_t; ///
|
|
alias uint_least64_t = uint64_t; ///
|
|
|
|
alias int_fast8_t = int32_t; ///
|
|
alias uint_fast8_t = uint32_t; ///
|
|
alias int_fast16_t = int32_t; ///
|
|
alias uint_fast16_t = uint32_t; ///
|
|
alias int_fast32_t = int32_t; ///
|
|
alias uint_fast32_t = uint32_t; ///
|
|
alias int_fast64_t = int64_t; ///
|
|
alias uint_fast64_t = uint64_t; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (OpenBSD)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = cpp_longlong; ///
|
|
alias uint64_t = cpp_ulonglong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = cpp_longlong; ///
|
|
alias uint_least64_t = cpp_ulonglong; ///
|
|
|
|
alias int_fast8_t = int; ///
|
|
alias uint_fast8_t = uint; ///
|
|
alias int_fast16_t = int; ///
|
|
alias uint_fast16_t = uint; ///
|
|
alias int_fast32_t = int; ///
|
|
alias uint_fast32_t = uint; ///
|
|
alias int_fast64_t = cpp_longlong; ///
|
|
alias uint_fast64_t = cpp_ulonglong; ///
|
|
|
|
alias intptr_t = cpp_long; ///
|
|
alias uintptr_t = cpp_ulong; ///
|
|
alias intmax_t = cpp_longlong; ///
|
|
alias uintmax_t = cpp_ulonglong; ///
|
|
}
|
|
else version (Solaris)
|
|
{
|
|
alias int8_t = char; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = char; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
alias int_fast8_t = char; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = int; ///
|
|
alias uint_fast16_t = uint; ///
|
|
alias int_fast32_t = int; ///
|
|
alias uint_fast32_t = uint; ///
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else version (WASI)
|
|
{
|
|
alias int8_t = byte; ///
|
|
alias int16_t = short; ///
|
|
alias uint8_t = ubyte; ///
|
|
alias uint16_t = ushort; ///
|
|
alias int32_t = int; ///
|
|
alias uint32_t = uint; ///
|
|
alias int64_t = long; ///
|
|
alias uint64_t = ulong; ///
|
|
|
|
alias int_least8_t = byte; ///
|
|
alias uint_least8_t = ubyte; ///
|
|
alias int_least16_t = short; ///
|
|
alias uint_least16_t = ushort; ///
|
|
alias int_least32_t = int; ///
|
|
alias uint_least32_t = uint; ///
|
|
alias int_least64_t = long; ///
|
|
alias uint_least64_t = ulong; ///
|
|
|
|
alias int_fast8_t = byte; ///
|
|
alias uint_fast8_t = ubyte; ///
|
|
alias int_fast16_t = ptrdiff_t; ///
|
|
alias uint_fast16_t = size_t; ///
|
|
alias int_fast32_t = ptrdiff_t; ///
|
|
alias uint_fast32_t = size_t; ///
|
|
|
|
alias int_fast64_t = long; ///
|
|
alias uint_fast64_t = ulong; ///
|
|
|
|
alias intptr_t = ptrdiff_t; ///
|
|
alias uintptr_t = size_t; ///
|
|
alias intmax_t = long; ///
|
|
alias uintmax_t = ulong; ///
|
|
}
|
|
else
|
|
{
|
|
static assert(false, "Unsupported architecture.");
|
|
}
|
|
|
|
|
|
|
|
///
|
|
enum int8_t INT8_MIN = int8_t.min;
|
|
///
|
|
enum int8_t INT8_MAX = int8_t.max;
|
|
///
|
|
enum int16_t INT16_MIN = int16_t.min;
|
|
///
|
|
enum int16_t INT16_MAX = int16_t.max;
|
|
///
|
|
enum int32_t INT32_MIN = int32_t.min;
|
|
///
|
|
enum int32_t INT32_MAX = int32_t.max;
|
|
///
|
|
enum int64_t INT64_MIN = int64_t.min;
|
|
///
|
|
enum int64_t INT64_MAX = int64_t.max;
|
|
|
|
///
|
|
enum uint8_t UINT8_MAX = uint8_t.max;
|
|
///
|
|
enum uint16_t UINT16_MAX = uint16_t.max;
|
|
///
|
|
enum uint32_t UINT32_MAX = uint32_t.max;
|
|
///
|
|
enum uint64_t UINT64_MAX = uint64_t.max;
|
|
|
|
///
|
|
enum int_least8_t INT_LEAST8_MIN = int_least8_t.min;
|
|
///
|
|
enum int_least8_t INT_LEAST8_MAX = int_least8_t.max;
|
|
///
|
|
enum int_least16_t INT_LEAST16_MIN = int_least16_t.min;
|
|
///
|
|
enum int_least16_t INT_LEAST16_MAX = int_least16_t.max;
|
|
///
|
|
enum int_least32_t INT_LEAST32_MIN = int_least32_t.min;
|
|
///
|
|
enum int_least32_t INT_LEAST32_MAX = int_least32_t.max;
|
|
///
|
|
enum int_least64_t INT_LEAST64_MIN = int_least64_t.min;
|
|
///
|
|
enum int_least64_t INT_LEAST64_MAX = int_least64_t.max;
|
|
|
|
///
|
|
enum uint_least8_t UINT_LEAST8_MAX = uint_least8_t.max;
|
|
///
|
|
enum uint_least16_t UINT_LEAST16_MAX = uint_least16_t.max;
|
|
///
|
|
enum uint_least32_t UINT_LEAST32_MAX = uint_least32_t.max;
|
|
///
|
|
enum uint_least64_t UINT_LEAST64_MAX = uint_least64_t.max;
|
|
|
|
///
|
|
enum int_fast8_t INT_FAST8_MIN = int_fast8_t.min;
|
|
///
|
|
enum int_fast8_t INT_FAST8_MAX = int_fast8_t.max;
|
|
///
|
|
enum int_fast16_t INT_FAST16_MIN = int_fast16_t.min;
|
|
///
|
|
enum int_fast16_t INT_FAST16_MAX = int_fast16_t.max;
|
|
///
|
|
enum int_fast32_t INT_FAST32_MIN = int_fast32_t.min;
|
|
///
|
|
enum int_fast32_t INT_FAST32_MAX = int_fast32_t.max;
|
|
///
|
|
enum int_fast64_t INT_FAST64_MIN = int_fast64_t.min;
|
|
///
|
|
enum int_fast64_t INT_FAST64_MAX = int_fast64_t.max;
|
|
|
|
///
|
|
enum uint_fast8_t UINT_FAST8_MAX = uint_fast8_t.max;
|
|
///
|
|
enum uint_fast16_t UINT_FAST16_MAX = uint_fast16_t.max;
|
|
///
|
|
enum uint_fast32_t UINT_FAST32_MAX = uint_fast32_t.max;
|
|
///
|
|
enum uint_fast64_t UINT_FAST64_MAX = uint_fast64_t.max;
|
|
|
|
///
|
|
enum intptr_t INTPTR_MIN = intptr_t.min;
|
|
///
|
|
enum intptr_t INTPTR_MAX = intptr_t.max;
|
|
|
|
///
|
|
enum uintptr_t UINTPTR_MIN = uintptr_t.min;
|
|
///
|
|
enum uintptr_t UINTPTR_MAX = uintptr_t.max;
|
|
|
|
///
|
|
enum intmax_t INTMAX_MIN = intmax_t.min;
|
|
///
|
|
enum intmax_t INTMAX_MAX = intmax_t.max;
|
|
|
|
///
|
|
enum uintmax_t UINTMAX_MAX = uintmax_t.max;
|
|
|
|
///
|
|
enum ptrdiff_t PTRDIFF_MIN = ptrdiff_t.min;
|
|
///
|
|
enum ptrdiff_t PTRDIFF_MAX = ptrdiff_t.max;
|
|
|
|
///
|
|
enum sig_atomic_t SIG_ATOMIC_MIN = sig_atomic_t.min;
|
|
///
|
|
enum sig_atomic_t SIG_ATOMIC_MAX = sig_atomic_t.max;
|
|
|
|
///
|
|
enum size_t SIZE_MAX = size_t.max;
|
|
|
|
///
|
|
enum wchar_t WCHAR_MIN = wchar_t.min;
|
|
///
|
|
enum wchar_t WCHAR_MAX = wchar_t.max;
|
|
|
|
///
|
|
enum wint_t WINT_MIN = wint_t.min;
|
|
///
|
|
enum wint_t WINT_MAX = wint_t.max;
|
|
|
|
///
|
|
alias INT8_C = _typify!int8_t ;
|
|
///
|
|
alias INT16_C = _typify!int16_t;
|
|
///
|
|
alias INT32_C = _typify!int32_t;
|
|
///
|
|
alias INT64_C = _typify!int64_t;
|
|
|
|
///
|
|
alias UINT8_C = _typify!uint8_t ;
|
|
///
|
|
alias UINT16_C = _typify!uint16_t;
|
|
///
|
|
alias UINT32_C = _typify!uint32_t;
|
|
///
|
|
alias UINT64_C = _typify!uint64_t;
|
|
|
|
///
|
|
alias INTMAX_C = _typify!intmax_t ;
|
|
///
|
|
alias UINTMAX_C = _typify!uintmax_t;
|