blob: 5da59d6adf57c26780a60deaf70ff814514c4f40 [file] [log] [blame]
<?xml version="1.0"?>
<!--
#-------------------------------------------------------------------------------
# Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------
-->
<def format="2">
<!-- Minimum-width integer types -->
<podtype name="int_least8_t" sign="s" size="1"/>
<podtype name="uint_least8_t" sign="u" size="1"/>
<podtype name="int_least16_t" sign="s" size="2"/>
<podtype name="uint_least16_t" sign="u" size="2"/>
<podtype name="int_least32_t" sign="s" size="4"/>
<podtype name="uint_least32_t" sign="u" size="4"/>
<podtype name="int_least64_t" sign="s" size="8"/>
<podtype name="uint_least64_t" sign="u" size="8"/>
<!-- Greatest-width integer types -->
<podtype name="intmax_t" sign="s" size="8"/>
<podtype name="uintmax_t" sign="u" size="8"/>
<!-- inttypes.h -->
<podtype name="intptr_t" sign="s" size="4"/>
<podtype name="uintptr_t" sign="u" size="4"/>
<define name="INT8_MAX" value="0x7f"/>
<define name="INT8_MIN" value="(-INT8_MAX - 1)"/>
<define name="UINT8_MAX" value="(__CONCAT(INT8_MAX, U) * 2U + 1U)"/>
<define name="INT16_MAX" value="0x7fff"/>
<define name="INT16_MIN" value="(-INT16_MAX - 1)"/>
<define name="UINT16_MAX" value="(__CONCAT(INT16_MAX, U) * 2U + 1U)"/>
<define name="INT32_MAX" value="0x7fffffffL"/>
<define name="INT32_MIN" value="(-INT32_MAX - 1L)"/>
<define name="UINT32_MAX" value="(__CONCAT(INT32_MAX, U) * 2UL + 1UL)"/>
<define name="INT64_MAX" value="0x7fffffffffffffffLL"/>
<define name="INT64_MIN" value="(-INT64_MAX - 1LL)"/>
<define name="UINT64_MAX" value="(__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)"/>
<!-- Limits of minimum-width integer types -->
<define name="INT_LEAST8_MAX" value="INT8_MAX"/>
<define name="INT_LEAST8_MIN" value="INT8_MIN"/>
<define name="UINT_LEAST8_MAX" value="UINT8_MAX"/>
<define name="INT_LEAST16_MAX" value="INT16_MAX"/>
<define name="INT_LEAST16_MIN" value="INT16_MIN"/>
<define name="UINT_LEAST16_MAX" value="UINT16_MAX"/>
<define name="INT_LEAST32_MAX" value="INT32_MAX"/>
<define name="INT_LEAST32_MIN" value="INT32_MIN"/>
<define name="UINT_LEAST32_MAX" value="UINT32_MAX"/>
<define name="INT_LEAST64_MAX" value="INT64_MAX"/>
<define name="INT_LEAST64_MIN" value="INT64_MIN"/>
<define name="UINT_LEAST64_MAX" value="UINT64_MAX"/>
<!-- Limits of fastest minimum-width integer types -->
<define name="INT_FAST8_MAX" value="INT8_MAX"/>
<define name="INT_FAST8_MIN" value="INT8_MIN"/>
<define name="UINT_FAST8_MAX" value="UINT8_MAX"/>
<define name="INT_FAST16_MAX" value="INT16_MAX"/>
<define name="INT_FAST16_MIN" value="INT16_MIN"/>
<define name="UINT_FAST16_MAX" value="UINT16_MAX"/>
<define name="INT_FAST32_MAX" value="INT32_MAX"/>
<define name="INT_FAST32_MIN" value="INT32_MIN"/>
<define name="UINT_FAST32_MAX" value="UINT32_MAX"/>
<define name="INT_FAST64_MAX" value="INT64_MAX"/>
<define name="INT_FAST64_MIN" value="INT64_MIN"/>
<define name="UINT_FAST64_MAX" value="UINT64_MAX"/>
<!-- Limits of integer types capable of holding object pointers -->
<define name="INTPTR_MAX" value="INT32_MAX"/>
<define name="INTPTR_MIN" value="INT32_MIN"/>
<define name="UINTPTR_MAX" value="UINT32_MAX"/>
<!-- Limits of greatest-width integer types -->
<define name="INTMAX_MAX" value="INT64_MAX"/>
<define name="INTMAX_MIN" value="INT64_MIN"/>
<define name="UINTMAX_MAX" value="UINT64_MAX"/>
<!-- Limits of other integer types -->
<define name="PTRDIFF_MAX" value="INT32_MAX"/>
<define name="PTRDIFF_MIN" value="INT32_MIN"/>
<define name="SIG_ATOMIC_MAX" value="INT8_MAX"/>
<define name="SIG_ATOMIC_MIN" value="INT8_MIN"/>
<define name="SIZE_MAX" value="(__CONCAT(INT16_MAX, U))"/>
<!-- Macros for integer constants -->
<define name="INT8_C(value)" value="((int8_t) value)"/>
<define name="UINT8_C(value)" value="((uint8_t) __CONCAT(value, U))"/>
<define name="INT16_C(value)" value="value"/>
<define name="UINT16_C(value)" value="__CONCAT(value, U)"/>
<define name="INT32_C(value)" value="__CONCAT(value, L)"/>
<define name="UINT32_C(value)" value="__CONCAT(value, UL)"/>
<define name="INT64_C(value)" value="__CONCAT(value, LL)"/>
<define name="UINT64_C(value)" value="__CONCAT(value, ULL)"/>
<define name="INTMAX_C(value)" value="__CONCAT(value, LL)"/>
<define name="UINTMAX_C(value)" value="__CONCAT(value, ULL)"/>
</def>