| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * Copyright (C) 2019 Intel Corporation. All rights reserved.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- */
- #ifndef _WAMR_LIBC_STDINT_H
- #define _WAMR_LIBC_STDINT_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* clang-format off */
- /* The word size of platform */
- #ifdef __wasm64__
- #define __WORDSIZE 64
- #else
- #define __WORDSIZE 32
- #endif
- typedef char int8_t;
- typedef short int int16_t;
- typedef int int32_t;
- typedef long long int int64_t;
- /* Unsigned. */
- typedef unsigned char uint8_t;
- typedef unsigned short int uint16_t;
- typedef unsigned int uint32_t;
- typedef unsigned long long int uint64_t;
- typedef __INTPTR_TYPE__ intptr_t;
- typedef __UINTPTR_TYPE__ uintptr_t;
- /* Signed and unsigned */
- #if __WORDSIZE == 64
- #define INT64_C(c) c ## L
- #define UINT64_C(c) c ## UL
- #define INTMAX_C(c) c ## L
- #define UINTMAX_C(c) c ## UL
- #else
- #define INT64_C(c) c ## LL
- #define UINT64_C(c) c ## ULL
- #define INTMAX_C(c) c ## LL
- #define UINTMAX_C(c) c ## ULL
- #endif
- /* Minimum of signed integral types. */
- # define INT8_MIN (-128)
- # define INT16_MIN (-32767-1)
- # define INT32_MIN (-2147483647-1)
- # define INT64_MIN (-INT64_C(9223372036854775807)-1)
- /* Maximum of signed integral types. */
- # define INT8_MAX (127)
- # define INT16_MAX (32767)
- # define INT32_MAX (2147483647)
- # define INT64_MAX (INT64_C(9223372036854775807))
- /* Maximum of unsigned integral types. */
- # define UINT8_MAX (255)
- # define UINT16_MAX (65535)
- # define UINT32_MAX (4294967295U)
- # define UINT64_MAX (UINT64_C(18446744073709551615))
- /* Values to test for integral types holding `void *' pointer. */
- #if __WORDSIZE == 64
- #define INTPTR_MIN INT64_MIN
- #define INTPTR_MAX INT64_MAX
- #define UINTPTR_MAX UINT64_MAX
- #else
- #define INTPTR_MIN INT32_MIN
- #define INTPTR_MAX INT32_MAX
- #define UINTPTR_MAX UINT32_MAX
- #endif
- /* Limit of `size_t' type. */
- #if __WORDSIZE == 64
- #define SIZE_MAX UINT64_MAX
- #else
- #define SIZE_MAX UINT32_MAX
- #endif
- /* clang-format on */
- #ifdef __cplusplus
- }
- #endif
- #endif
|