From 32f1178ff088a18f8a2c8f1c44947a36e1e88595 Mon Sep 17 00:00:00 2001 From: Sebastian Meiling Date: Thu, 23 Jan 2020 12:15:14 +0100 Subject: [PATCH] native: fix c11_atomic sizes on FreeBSD There is size difference for atomic_int_fast8 and atomiic_uint_fast8 on FreeBSD, i.e., they match uint32_t with size of 4 bytes instead of uint8_t with size of 8. Hence, tests/c11_atomics_cpp_compat buildtest fails on FreeBSD. --- cpu/native/include/c11_atomics_compat_cpu.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cpu/native/include/c11_atomics_compat_cpu.hpp b/cpu/native/include/c11_atomics_compat_cpu.hpp index 3ac088a469..ae589ea28f 100644 --- a/cpu/native/include/c11_atomics_compat_cpu.hpp +++ b/cpu/native/include/c11_atomics_compat_cpu.hpp @@ -41,10 +41,17 @@ #define ATOMIC_INT_LEAST64_T_SAME_SIZED_TYPE uint64_t #define ATOMIC_UINT_LEAST64_T_SIZE (8U) #define ATOMIC_UINT_LEAST64_T_SAME_SIZED_TYPE uint64_t +#ifdef __FreeBSD__ +#define ATOMIC_INT_FAST8_T_SIZE (4U) +#define ATOMIC_INT_FAST8_T_SAME_SIZED_TYPE uint32_t +#define ATOMIC_UINT_FAST8_T_SIZE (4U) +#define ATOMIC_UINT_FAST8_T_SAME_SIZED_TYPE uint32_t +#else #define ATOMIC_INT_FAST8_T_SIZE (1U) #define ATOMIC_INT_FAST8_T_SAME_SIZED_TYPE uint8_t #define ATOMIC_UINT_FAST8_T_SIZE (1U) #define ATOMIC_UINT_FAST8_T_SAME_SIZED_TYPE uint8_t +#endif #define ATOMIC_INT_FAST16_T_SIZE (4U) #define ATOMIC_INT_FAST16_T_SAME_SIZED_TYPE uint32_t #define ATOMIC_UINT_FAST16_T_SIZE (4U)