xref: /openbsd-src/gnu/llvm/libcxx/include/cstdint (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
146035553Spatrick// -*- C++ -*-
2*4bdff4beSrobert//===----------------------------------------------------------------------===//
346035553Spatrick//
446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
546035553Spatrick// See https://llvm.org/LICENSE.txt for license information.
646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
746035553Spatrick//
846035553Spatrick//===----------------------------------------------------------------------===//
946035553Spatrick
1046035553Spatrick#ifndef _LIBCPP_CSTDINT
1146035553Spatrick#define _LIBCPP_CSTDINT
1246035553Spatrick
1346035553Spatrick/*
1446035553Spatrick    cstdint synopsis
1546035553Spatrick
1646035553SpatrickMacros:
1746035553Spatrick
1846035553Spatrick    INT8_MIN
1946035553Spatrick    INT16_MIN
2046035553Spatrick    INT32_MIN
2146035553Spatrick    INT64_MIN
2246035553Spatrick
2346035553Spatrick    INT8_MAX
2446035553Spatrick    INT16_MAX
2546035553Spatrick    INT32_MAX
2646035553Spatrick    INT64_MAX
2746035553Spatrick
2846035553Spatrick    UINT8_MAX
2946035553Spatrick    UINT16_MAX
3046035553Spatrick    UINT32_MAX
3146035553Spatrick    UINT64_MAX
3246035553Spatrick
3346035553Spatrick    INT_LEAST8_MIN
3446035553Spatrick    INT_LEAST16_MIN
3546035553Spatrick    INT_LEAST32_MIN
3646035553Spatrick    INT_LEAST64_MIN
3746035553Spatrick
3846035553Spatrick    INT_LEAST8_MAX
3946035553Spatrick    INT_LEAST16_MAX
4046035553Spatrick    INT_LEAST32_MAX
4146035553Spatrick    INT_LEAST64_MAX
4246035553Spatrick
4346035553Spatrick    UINT_LEAST8_MAX
4446035553Spatrick    UINT_LEAST16_MAX
4546035553Spatrick    UINT_LEAST32_MAX
4646035553Spatrick    UINT_LEAST64_MAX
4746035553Spatrick
4846035553Spatrick    INT_FAST8_MIN
4946035553Spatrick    INT_FAST16_MIN
5046035553Spatrick    INT_FAST32_MIN
5146035553Spatrick    INT_FAST64_MIN
5246035553Spatrick
5346035553Spatrick    INT_FAST8_MAX
5446035553Spatrick    INT_FAST16_MAX
5546035553Spatrick    INT_FAST32_MAX
5646035553Spatrick    INT_FAST64_MAX
5746035553Spatrick
5846035553Spatrick    UINT_FAST8_MAX
5946035553Spatrick    UINT_FAST16_MAX
6046035553Spatrick    UINT_FAST32_MAX
6146035553Spatrick    UINT_FAST64_MAX
6246035553Spatrick
6346035553Spatrick    INTPTR_MIN
6446035553Spatrick    INTPTR_MAX
6546035553Spatrick    UINTPTR_MAX
6646035553Spatrick
6746035553Spatrick    INTMAX_MIN
6846035553Spatrick    INTMAX_MAX
6946035553Spatrick
7046035553Spatrick    UINTMAX_MAX
7146035553Spatrick
7246035553Spatrick    PTRDIFF_MIN
7346035553Spatrick    PTRDIFF_MAX
7446035553Spatrick
7546035553Spatrick    SIG_ATOMIC_MIN
7646035553Spatrick    SIG_ATOMIC_MAX
7746035553Spatrick
7846035553Spatrick    SIZE_MAX
7946035553Spatrick
8046035553Spatrick    WCHAR_MIN
8146035553Spatrick    WCHAR_MAX
8246035553Spatrick
8346035553Spatrick    WINT_MIN
8446035553Spatrick    WINT_MAX
8546035553Spatrick
8646035553Spatrick    INT8_C(value)
8746035553Spatrick    INT16_C(value)
8846035553Spatrick    INT32_C(value)
8946035553Spatrick    INT64_C(value)
9046035553Spatrick
9146035553Spatrick    UINT8_C(value)
9246035553Spatrick    UINT16_C(value)
9346035553Spatrick    UINT32_C(value)
9446035553Spatrick    UINT64_C(value)
9546035553Spatrick
9646035553Spatrick    INTMAX_C(value)
9746035553Spatrick    UINTMAX_C(value)
9846035553Spatrick
9946035553Spatricknamespace std
10046035553Spatrick{
10146035553Spatrick
10246035553SpatrickTypes:
10346035553Spatrick
10446035553Spatrick    int8_t
10546035553Spatrick    int16_t
10646035553Spatrick    int32_t
10746035553Spatrick    int64_t
10846035553Spatrick
10946035553Spatrick    uint8_t
11046035553Spatrick    uint16_t
11146035553Spatrick    uint32_t
11246035553Spatrick    uint64_t
11346035553Spatrick
11446035553Spatrick    int_least8_t
11546035553Spatrick    int_least16_t
11646035553Spatrick    int_least32_t
11746035553Spatrick    int_least64_t
11846035553Spatrick
11946035553Spatrick    uint_least8_t
12046035553Spatrick    uint_least16_t
12146035553Spatrick    uint_least32_t
12246035553Spatrick    uint_least64_t
12346035553Spatrick
12446035553Spatrick    int_fast8_t
12546035553Spatrick    int_fast16_t
12646035553Spatrick    int_fast32_t
12746035553Spatrick    int_fast64_t
12846035553Spatrick
12946035553Spatrick    uint_fast8_t
13046035553Spatrick    uint_fast16_t
13146035553Spatrick    uint_fast32_t
13246035553Spatrick    uint_fast64_t
13346035553Spatrick
13446035553Spatrick    intptr_t
13546035553Spatrick    uintptr_t
13646035553Spatrick
13746035553Spatrick    intmax_t
13846035553Spatrick    uintmax_t
13946035553Spatrick
14046035553Spatrick}  // std
14146035553Spatrick*/
14246035553Spatrick
143*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler
14446035553Spatrick#include <__config>
145*4bdff4beSrobert
14646035553Spatrick#include <stdint.h>
14746035553Spatrick
148*4bdff4beSrobert#ifndef _LIBCPP_STDINT_H
149*4bdff4beSrobert#   error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. \
150*4bdff4beSrobert          This usually means that your header search paths are not configured properly. \
151*4bdff4beSrobert          The header search paths should contain the C++ Standard Library headers before \
152*4bdff4beSrobert          any C Standard Library, and you are probably using compiler flags that make that \
153*4bdff4beSrobert          not be the case.
154*4bdff4beSrobert#endif
155*4bdff4beSrobert
15646035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
15746035553Spatrick#  pragma GCC system_header
15846035553Spatrick#endif
15946035553Spatrick
16046035553Spatrick_LIBCPP_BEGIN_NAMESPACE_STD
16146035553Spatrick
16276d0caaeSpatrickusing ::int8_t _LIBCPP_USING_IF_EXISTS;
16376d0caaeSpatrickusing ::int16_t _LIBCPP_USING_IF_EXISTS;
16476d0caaeSpatrickusing ::int32_t _LIBCPP_USING_IF_EXISTS;
16576d0caaeSpatrickusing ::int64_t _LIBCPP_USING_IF_EXISTS;
16646035553Spatrick
16776d0caaeSpatrickusing ::uint8_t _LIBCPP_USING_IF_EXISTS;
16876d0caaeSpatrickusing ::uint16_t _LIBCPP_USING_IF_EXISTS;
16976d0caaeSpatrickusing ::uint32_t _LIBCPP_USING_IF_EXISTS;
17076d0caaeSpatrickusing ::uint64_t _LIBCPP_USING_IF_EXISTS;
17146035553Spatrick
17276d0caaeSpatrickusing ::int_least8_t _LIBCPP_USING_IF_EXISTS;
17376d0caaeSpatrickusing ::int_least16_t _LIBCPP_USING_IF_EXISTS;
17476d0caaeSpatrickusing ::int_least32_t _LIBCPP_USING_IF_EXISTS;
17576d0caaeSpatrickusing ::int_least64_t _LIBCPP_USING_IF_EXISTS;
17646035553Spatrick
17776d0caaeSpatrickusing ::uint_least8_t _LIBCPP_USING_IF_EXISTS;
17876d0caaeSpatrickusing ::uint_least16_t _LIBCPP_USING_IF_EXISTS;
17976d0caaeSpatrickusing ::uint_least32_t _LIBCPP_USING_IF_EXISTS;
18076d0caaeSpatrickusing ::uint_least64_t _LIBCPP_USING_IF_EXISTS;
18146035553Spatrick
18276d0caaeSpatrickusing ::int_fast8_t _LIBCPP_USING_IF_EXISTS;
18376d0caaeSpatrickusing ::int_fast16_t _LIBCPP_USING_IF_EXISTS;
18476d0caaeSpatrickusing ::int_fast32_t _LIBCPP_USING_IF_EXISTS;
18576d0caaeSpatrickusing ::int_fast64_t _LIBCPP_USING_IF_EXISTS;
18646035553Spatrick
18776d0caaeSpatrickusing ::uint_fast8_t _LIBCPP_USING_IF_EXISTS;
18876d0caaeSpatrickusing ::uint_fast16_t _LIBCPP_USING_IF_EXISTS;
18976d0caaeSpatrickusing ::uint_fast32_t _LIBCPP_USING_IF_EXISTS;
19076d0caaeSpatrickusing ::uint_fast64_t _LIBCPP_USING_IF_EXISTS;
19146035553Spatrick
19276d0caaeSpatrickusing ::intptr_t _LIBCPP_USING_IF_EXISTS;
19376d0caaeSpatrickusing ::uintptr_t _LIBCPP_USING_IF_EXISTS;
19446035553Spatrick
19576d0caaeSpatrickusing ::intmax_t _LIBCPP_USING_IF_EXISTS;
19676d0caaeSpatrickusing ::uintmax_t _LIBCPP_USING_IF_EXISTS;
19746035553Spatrick
19846035553Spatrick_LIBCPP_END_NAMESPACE_STD
19946035553Spatrick
20046035553Spatrick#endif // _LIBCPP_CSTDINT
201