Skip to content

Commit 3e7eb8e

Browse files
committed
Core: Updated compiler __NO_RETURN definition to prevent macro name clash on "noreturn" with C11 stdnoreturn.h. (Issue #240)
1 parent b739604 commit 3e7eb8e

File tree

6 files changed

+10
-6
lines changed

6 files changed

+10
-6
lines changed

CMSIS/Core/Include/cmsis_armclang.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#define __STATIC_FORCEINLINE __attribute__((always_inline)) static __inline
4848
#endif
4949
#ifndef __NO_RETURN
50-
#define __NO_RETURN __attribute__((noreturn))
50+
#define __NO_RETURN __attribute__((__noreturn__))
5151
#endif
5252
#ifndef __USED
5353
#define __USED __attribute__((used))

CMSIS/Core/Include/cmsis_gcc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
#define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
5151
#endif
5252
#ifndef __NO_RETURN
53-
#define __NO_RETURN __attribute__((noreturn))
53+
#define __NO_RETURN __attribute__((__noreturn__))
5454
#endif
5555
#ifndef __USED
5656
#define __USED __attribute__((used))

CMSIS/Core/Include/cmsis_iccarm.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116

117117
#ifndef __NO_RETURN
118118
#if __ICCARM_V8
119-
#define __NO_RETURN __attribute__((noreturn))
119+
#define __NO_RETURN __attribute__((__noreturn__))
120120
#else
121121
#define __NO_RETURN _Pragma("object_attribute=__noreturn")
122122
#endif

CMSIS/Core_A/Include/cmsis_armclang.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
#define __STATIC_FORCEINLINE __attribute__((always_inline)) static __inline
4949
#endif
5050
#ifndef __NO_RETURN
51-
#define __NO_RETURN __declspec(noreturn)
51+
#define __NO_RETURN __attribute__((__noreturn__))
5252
#endif
5353
#ifndef __USED
5454
#define __USED __attribute__((used))

CMSIS/Core_A/Include/cmsis_gcc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
#define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
5454
#endif
5555
#ifndef __NO_RETURN
56-
#define __NO_RETURN __attribute__((noreturn))
56+
#define __NO_RETURN __attribute__((__noreturn__))
5757
#endif
5858
#ifndef __USED
5959
#define __USED __attribute__((used))

CMSIS/Core_A/Include/cmsis_iccarm.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@
7474
#endif
7575

7676
#ifndef __NO_RETURN
77-
#define __NO_RETURN _Pragma("object_attribute=__noreturn")
77+
#if __ICCARM_V8
78+
#define __NO_RETURN __attribute__((__noreturn__))
79+
#else
80+
#define __NO_RETURN _Pragma("object_attribute=__noreturn")
81+
#endif
7882
#endif
7983

8084
#ifndef __PACKED

0 commit comments

Comments
 (0)