You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by je...@apache.org on 2020/06/10 06:24:58 UTC

[incubator-nuttx] 01/02: arch: Define INTx_C and UINTx_C macro

This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 7758eb865818d903dceeda4dd238985407673436
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Wed Jun 10 02:24:49 2020 +0800

    arch: Define INTx_C and UINTx_C macro
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
    Change-Id: Ia50ea8764880fabd3d878c95328632c761be6b43
---
 arch/arm/include/inttypes.h            | 10 ++++++++++
 arch/avr/include/avr/inttypes.h        | 10 ++++++++++
 arch/avr/include/avr32/inttypes.h      | 10 ++++++++++
 arch/hc/include/inttypes.h             | 20 ++++++++++++++++++++
 arch/mips/include/inttypes.h           | 10 ++++++++++
 arch/misoc/include/inttypes.h          | 10 ++++++++++
 arch/or1k/include/inttypes.h           | 10 ++++++++++
 arch/renesas/include/m16c/inttypes.h   | 10 ++++++++++
 arch/renesas/include/rx65n/inttypes.h  | 10 ++++++++++
 arch/renesas/include/sh1/inttypes.h    | 10 ++++++++++
 arch/risc-v/include/inttypes.h         | 10 ++++++++++
 arch/sim/include/inttypes.h            | 20 ++++++++++++++++++++
 arch/x86/include/i486/inttypes.h       | 10 ++++++++++
 arch/x86_64/include/intel64/inttypes.h | 10 ++++++++++
 arch/xtensa/include/inttypes.h         | 10 ++++++++++
 arch/z16/include/inttypes.h            |  8 ++++++++
 arch/z80/include/ez80/inttypes.h       | 15 +++++++++++++++
 arch/z80/include/z180/inttypes.h       |  8 ++++++++
 arch/z80/include/z8/inttypes.h         |  8 ++++++++
 arch/z80/include/z80/inttypes.h        |  8 ++++++++
 include/stdint.h                       | 29 ++++++-----------------------
 21 files changed, 223 insertions(+), 23 deletions(-)

diff --git a/arch/arm/include/inttypes.h b/arch/arm/include/inttypes.h
index 280d4a5..42ea4d0 100644
--- a/arch/arm/include/inttypes.h
+++ b/arch/arm/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_ARM_INCLUDE_INTTYPES_H */
diff --git a/arch/avr/include/avr/inttypes.h b/arch/avr/include/avr/inttypes.h
index 0b22135..8913f1c 100644
--- a/arch/avr/include/avr/inttypes.h
+++ b/arch/avr/include/avr/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x ## l
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## ul
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_AVR_INCLUDE_AVR_INTTYPES_H */
diff --git a/arch/avr/include/avr32/inttypes.h b/arch/avr/include/avr32/inttypes.h
index cf62074..fb4d60b 100644
--- a/arch/avr/include/avr32/inttypes.h
+++ b/arch/avr/include/avr32/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_AVR_INCLUDE_AVR32_INTTYPES_H */
diff --git a/arch/hc/include/inttypes.h b/arch/hc/include/inttypes.h
index 2ff0e79..ef227d7 100644
--- a/arch/hc/include/inttypes.h
+++ b/arch/hc/include/inttypes.h
@@ -244,6 +244,16 @@
 #  define SCNxMAX     "llx"
 #  define SCNxPTR     "x"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x ## l
+#  define INT64_C(x)  x ## ll
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## ul
+#  define UINT64_C(x) x ## ull
+
 #else
 
 #  define PRId8       "d"
@@ -444,6 +454,16 @@
 #  define SCNxMAX     "llx"
 #  define SCNxPTR     "x"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x
+#  define INT64_C(x)  x ## ll
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## u
+#  define UINT64_C(x) x ## ull
+
 #endif
 
 #endif /* __ARCH_HC_INCLUDE_INTTYPES_H */
diff --git a/arch/mips/include/inttypes.h b/arch/mips/include/inttypes.h
index 81006c8..720a248 100644
--- a/arch/mips/include/inttypes.h
+++ b/arch/mips/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_MIPS_INCLUDE_INTTYPES_H */
diff --git a/arch/misoc/include/inttypes.h b/arch/misoc/include/inttypes.h
index 16c4046..022d8c3 100644
--- a/arch/misoc/include/inttypes.h
+++ b/arch/misoc/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_MISOC_INCLUDE_INTTYPES_H */
diff --git a/arch/or1k/include/inttypes.h b/arch/or1k/include/inttypes.h
index 083c6db..1df9608 100644
--- a/arch/or1k/include/inttypes.h
+++ b/arch/or1k/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_OR1K_INCLUDE_INTTYPES_H */
diff --git a/arch/renesas/include/m16c/inttypes.h b/arch/renesas/include/m16c/inttypes.h
index 9850184..4cbb63e 100644
--- a/arch/renesas/include/m16c/inttypes.h
+++ b/arch/renesas/include/m16c/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x ## l
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## ul
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_AVR_INCLUDE_M16C_INTTYPES_H */
diff --git a/arch/renesas/include/rx65n/inttypes.h b/arch/renesas/include/rx65n/inttypes.h
index 9688525..29f727a 100644
--- a/arch/renesas/include/rx65n/inttypes.h
+++ b/arch/renesas/include/rx65n/inttypes.h
@@ -237,4 +237,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_RENESAS_INCLUDE_RX65N_INTTYPES_H */
diff --git a/arch/renesas/include/sh1/inttypes.h b/arch/renesas/include/sh1/inttypes.h
index e2ceee2..d1f740e 100644
--- a/arch/renesas/include/sh1/inttypes.h
+++ b/arch/renesas/include/sh1/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_AVR_INCLUDE_SH1_INTTYPES_H */
diff --git a/arch/risc-v/include/inttypes.h b/arch/risc-v/include/inttypes.h
index a87bf6b..4414c41 100644
--- a/arch/risc-v/include/inttypes.h
+++ b/arch/risc-v/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_RISCV_INCLUDE_INTTYPES_H */
diff --git a/arch/sim/include/inttypes.h b/arch/sim/include/inttypes.h
index 6fcf9a5..34ca5de 100644
--- a/arch/sim/include/inttypes.h
+++ b/arch/sim/include/inttypes.h
@@ -244,6 +244,16 @@
 #  define SCNxMAX     "llx"
 #  define SCNxPTR     "llx"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x
+#  define INT64_C(x)  x ## ll
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## u
+#  define UINT64_C(x) x ## ull
+
 #else
 
 #  define PRId8       "d"
@@ -444,6 +454,16 @@
 #  define SCNxMAX     "llx"
 #  define SCNxPTR     "x"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x
+#  define INT64_C(x)  x ## ll
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## u
+#  define UINT64_C(x) x ## ull
+
 #endif
 
 #endif /* __ARCH_SIM_INCLUDE_INTTYPES_H */
diff --git a/arch/x86/include/i486/inttypes.h b/arch/x86/include/i486/inttypes.h
index 1cfe55f..0a02cd8 100644
--- a/arch/x86/include/i486/inttypes.h
+++ b/arch/x86/include/i486/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_X86_INCLUDE_I486_INTTYPES_H */
diff --git a/arch/x86_64/include/intel64/inttypes.h b/arch/x86_64/include/intel64/inttypes.h
index 6cee791..5384e5b 100644
--- a/arch/x86_64/include/intel64/inttypes.h
+++ b/arch/x86_64/include/intel64/inttypes.h
@@ -227,4 +227,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_X86_64_INCLUDE_INTEL64_INTTYPES_H */
diff --git a/arch/xtensa/include/inttypes.h b/arch/xtensa/include/inttypes.h
index 06a5e10..9037838 100644
--- a/arch/xtensa/include/inttypes.h
+++ b/arch/xtensa/include/inttypes.h
@@ -242,4 +242,14 @@
 #define SCNxMAX     "llx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+#define INT64_C(x)  x ## ll
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+#define UINT64_C(x) x ## ull
+
 #endif /* __ARCH_XTENSA_INCLUDE_INTTYPES_H */
diff --git a/arch/z16/include/inttypes.h b/arch/z16/include/inttypes.h
index 93664c5..538f24d 100644
--- a/arch/z16/include/inttypes.h
+++ b/arch/z16/include/inttypes.h
@@ -209,4 +209,12 @@
 #define SCNxMAX     "x"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## u
+
 #endif /* __ARCH_Z16_INCLUDE_INTTYPES_H */
diff --git a/arch/z80/include/ez80/inttypes.h b/arch/z80/include/ez80/inttypes.h
index b4b0766..7779b4a 100644
--- a/arch/z80/include/ez80/inttypes.h
+++ b/arch/z80/include/ez80/inttypes.h
@@ -211,6 +211,14 @@
 #  define SCNxMAX     "lx"
 #  define SCNxPTR     "hx"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x ## l
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## ul
+
 #else
 
 #  define PRId8       "d"
@@ -378,6 +386,13 @@
 #  define SCNxMAX     "lx"
 #  define SCNxPTR     "x"
 
+#  define INT8_C(x)   x
+#  define INT16_C(x)  x
+#  define INT32_C(x)  x ## l
+
+#  define UINT8_C(x)  x
+#  define UINT16_C(x) x
+#  define UINT32_C(x) x ## ul
 #endif
 
 #endif /* __ARCH_Z80_INCLUDE_EZ80_INTTYPES_H */
diff --git a/arch/z80/include/z180/inttypes.h b/arch/z80/include/z180/inttypes.h
index efd4cdc..124b1ec 100644
--- a/arch/z80/include/z180/inttypes.h
+++ b/arch/z80/include/z180/inttypes.h
@@ -209,4 +209,12 @@
 #define SCNxMAX     "lx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x ## l
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## ul
+
 #endif /* __ARCH_Z80_INCLUDE_Z180_INTTYPES_H */
diff --git a/arch/z80/include/z8/inttypes.h b/arch/z80/include/z8/inttypes.h
index 9f7eb0a..1fba81d 100644
--- a/arch/z80/include/z8/inttypes.h
+++ b/arch/z80/include/z8/inttypes.h
@@ -209,4 +209,12 @@
 #define SCNxMAX     "lx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x ## l
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## ul
+
 #endif /* __ARCH_Z80_INCLUDE_Z8_INTTYPES_H */
diff --git a/arch/z80/include/z80/inttypes.h b/arch/z80/include/z80/inttypes.h
index b8c3964..dd73081 100644
--- a/arch/z80/include/z80/inttypes.h
+++ b/arch/z80/include/z80/inttypes.h
@@ -209,4 +209,12 @@
 #define SCNxMAX     "lx"
 #define SCNxPTR     "x"
 
+#define INT8_C(x)   x
+#define INT16_C(x)  x
+#define INT32_C(x)  x ## l
+
+#define UINT8_C(x)  x
+#define UINT16_C(x) x
+#define UINT32_C(x) x ## ul
+
 #endif /* __ARCH_Z80_INCLUDE_Z80_INTTYPES_H */
diff --git a/include/stdint.h b/include/stdint.h
index 0d6e10a..f3fe66e 100644
--- a/include/stdint.h
+++ b/include/stdint.h
@@ -47,6 +47,7 @@
 #else
 #  include <nuttx/compiler.h>
 #  include <arch/types.h>
+#  include <arch/inttypes.h>
 #  include <limits.h>
 
 /****************************************************************************
@@ -145,36 +146,18 @@
 
 #  define UINTMAX_MIN       UINT64_MIN
 #  define UINTMAX_MAX       UINT64_MAX
+
+#  define INTMAX_C(x)       INT64_C(x)
+#  define UINTMAX_C(x)      UINT64_C(x)
 #else
 #  define INTMAX_MIN        INT32_MIN
 #  define INTMAX_MAX        INT32_MAX
 
 #  define UINTMAX_MIN       UINT32_MIN
 #  define UINTMAX_MAX       UINT32_MAX
-#endif
-
-/* Macros for minimum-width integer constant expressions */
-
-#if 0 /* REVISIT: Depends on architecture specific implementation */
-#define INT8_C(x)           x
-#define INT16_C(x)          x
-#define INT32_C(x)          x ## l
-#define INT64_C(x)          x ## ll
 
-#define UINT8_C(x)          x
-#define UINT16_C(x)         x
-#define UINT32_C(x)         x ## ul
-#define UINT64_C(x)         x ## ull
-#endif
-
-/* Macros for greatest-width integer constant expressions */
-
-#ifdef CONFIG_HAVE_LONG_LONG
-#  define INTMAX_C(x)       x ## ll
-#  define UINTMAX_C(x)      x ## ull
-#else
-#  define INTMAX_C(x)       x ## l
-#  define UINTMAX_C(x)      x ## ul
+#  define INTMAX_C(x)       INT32_C(x)
+#  define UINTMAX_C(x)      UINT32_C(x)
 #endif
 
 /* Limits of Other Integer Types */