Commit e54ffb96 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'compiler-attributes-for-linus-v5.16' of git://github.com/ojeda/linux

Pull compiler attributes update from Miguel Ojeda:
 "An improvement for `__compiletime_assert` and a trivial cleanup"

* tag 'compiler-attributes-for-linus-v5.16' of git://github.com/ojeda/linux:
  compiler_types: mark __compiletime_assert failure as __noreturn
  Compiler Attributes: remove GCC 5.1 mention
parents b5013d08 7c00621d
...@@ -113,7 +113,6 @@ ...@@ -113,7 +113,6 @@
#define __deprecated #define __deprecated
/* /*
* Optional: only supported since gcc >= 5.1
* Optional: not supported by clang * Optional: not supported by clang
* Optional: not supported by icc * Optional: not supported by icc
* *
......
...@@ -305,7 +305,13 @@ struct ftrace_likely_data { ...@@ -305,7 +305,13 @@ struct ftrace_likely_data {
#ifdef __OPTIMIZE__ #ifdef __OPTIMIZE__
# define __compiletime_assert(condition, msg, prefix, suffix) \ # define __compiletime_assert(condition, msg, prefix, suffix) \
do { \ do { \
extern void prefix ## suffix(void) __compiletime_error(msg); \ /* \
* __noreturn is needed to give the compiler enough \
* information to avoid certain possibly-uninitialized \
* warnings (regardless of the build failing). \
*/ \
__noreturn extern void prefix ## suffix(void) \
__compiletime_error(msg); \
if (!(condition)) \ if (!(condition)) \
prefix ## suffix(); \ prefix ## suffix(); \
} while (0) } while (0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment