mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-26 09:08:25 +00:00
feat: set RT_USING_STDC_ATOMIC to first priority
RT_USING_STDC_ATOMIC is a user selected option on current config system. While the RT_USING_HW_ATOMIC is a forced option selected by Kconfig under libcpu. And the RT_USING_STDC_ATOMIC will be meaningless if we set RT_USING_HW_ATOMIC to first priority if the arch has hw-atomic. Changes: - set RT_USING_STDC_ATOMIC to first priority on rttypes.h Signed-off-by: Shell <smokewood@qq.com>
This commit is contained in:
@@ -78,14 +78,19 @@ typedef rt_base_t rt_flag_t; /**< Type for flags */
|
||||
typedef rt_ubase_t rt_dev_t; /**< Type for device */
|
||||
typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||
|
||||
#if defined(RT_USING_STDC_ATOMIC) && __STDC_VERSION__ < 201112L
|
||||
#undef RT_USING_STDC_ATOMIC
|
||||
#warning Not using C11 or beyond! Maybe you should change the -std option on your compiler
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
typedef rt_base_t rt_atomic_t;
|
||||
#else
|
||||
#if defined(RT_USING_HW_ATOMIC)
|
||||
typedef rt_base_t rt_atomic_t;
|
||||
#elif defined(RT_USING_STDC_ATOMIC)
|
||||
#if defined(RT_USING_STDC_ATOMIC)
|
||||
#include <stdatomic.h>
|
||||
typedef atomic_intptr_t rt_atomic_t;
|
||||
typedef _Atomic(rt_base_t) rt_atomic_t;
|
||||
#elif defined(RT_USING_HW_ATOMIC)
|
||||
typedef rt_base_t rt_atomic_t;
|
||||
#else
|
||||
typedef rt_base_t rt_atomic_t;
|
||||
#endif /* RT_USING_STDC_ATOMIC */
|
||||
|
||||
Reference in New Issue
Block a user