summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2023-09-19 14:23:19 -0400
committerguo <[email protected]>2023-09-20 10:01:25 +0800
commit47a3139b633c15494c21db75ebb28e04d8c44787 (patch)
tree16d48b53bf7c1ac4d62386164e5e97d93e1094bd /libcpu
parent092b52ab242b4961b82dce18666133a1a4f8935a (diff)
[iar]修复__LDREX 和 __STREX 报 declared implicitly 警告
related: https://github.com/RT-Thread/rt-thread/issues/7381
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/arm/common/atomic_arm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libcpu/arm/common/atomic_arm.c b/libcpu/arm/common/atomic_arm.c
index 290d72e717..e9f1d4465b 100644
--- a/libcpu/arm/common/atomic_arm.c
+++ b/libcpu/arm/common/atomic_arm.c
@@ -12,6 +12,7 @@
#if defined (__IAR_SYSTEMS_ICC__) /* for IAR Compiler */
#include <intrinsics.h>
+#include <iccarm_builtin.h>
#endif
/**
\brief LDR Exclusive (32 bit)
@@ -30,7 +31,7 @@
#elif defined (__IAR_SYSTEMS_ICC__) /* for IAR Compiler */
_Pragma("inline=forced") __intrinsic rt_atomic_t __LDREXW(volatile rt_atomic_t *ptr)
{
- return __LDREX((unsigned int *)ptr);
+ return __iar_builtin_LDREX((volatile unsigned int *)ptr);
}
#elif defined (__GNUC__) /* GNU GCC Compiler */
__attribute__((always_inline)) static inline rt_atomic_t __LDREXW(volatile rt_atomic_t *addr)