aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compiler-gcc.h
diff options
context:
space:
mode:
authorMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>2018-08-31 12:00:16 -0400
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>2018-09-30 14:14:03 -0400
commit989bd5000f36052df604888ed12bb6ef390786b7 (patch)
tree6973e4987800fbac0b4a52b3a886992c92a5d96d /include/linux/compiler-gcc.h
parentec0bbef66f867854691d5af18c2231d746958e0e (diff)
Compiler Attributes: remove unneeded sparse (__CHECKER__) tests
Sparse knows about a few more attributes now, so we can remove the __CHECKER__ conditions from them (which, in turn, allow us to move some of them later on to compiler_attributes.h). * assume_aligned: since sparse's commit ffc860b ("sparse: ignore __assume_aligned__ attribute"), included in 0.5.1 * error: since sparse's commit 0a04210 ("sparse: Add 'error' to ignored attributes"), included in 0.5.0 * hotpatch: since sparse's commit 6043210 ("sparse/parse.c: ignore hotpatch attribute"), included in 0.5.1 * warning: since sparse's commit 977365d ("Avoid "attribute 'warning': unknown attribute" warning"), included in 0.4.2 On top of that, __must_be_array does not need it either because: * Even ancient versions of sparse do not have a problem * BUILD_BUG_ON_ZERO() is currently disabled for __CHECKER__ Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # on top of v4.19-rc5, clang 7 Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Diffstat (limited to 'include/linux/compiler-gcc.h')
-rw-r--r--include/linux/compiler-gcc.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 3b32bbfa5a49..1ca6a51cfaa9 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -76,14 +76,12 @@
76 76
77#define __compiletime_object_size(obj) __builtin_object_size(obj, 0) 77#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
78 78
79#ifndef __CHECKER__
80#define __compiletime_warning(message) __attribute__((__warning__(message))) 79#define __compiletime_warning(message) __attribute__((__warning__(message)))
81#define __compiletime_error(message) __attribute__((__error__(message))) 80#define __compiletime_error(message) __attribute__((__error__(message)))
82 81
83#ifdef LATENT_ENTROPY_PLUGIN 82#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__)
84#define __latent_entropy __attribute__((latent_entropy)) 83#define __latent_entropy __attribute__((latent_entropy))
85#endif 84#endif
86#endif /* __CHECKER__ */
87 85
88/* 86/*
89 * calling noreturn functions, __builtin_unreachable() and __builtin_trap() 87 * calling noreturn functions, __builtin_unreachable() and __builtin_trap()
@@ -131,7 +129,7 @@
131 129
132/* gcc version specific checks */ 130/* gcc version specific checks */
133 131
134#if GCC_VERSION >= 40900 && !defined(__CHECKER__) 132#if GCC_VERSION >= 40900
135/* 133/*
136 * __assume_aligned(n, k): Tell the optimizer that the returned 134 * __assume_aligned(n, k): Tell the optimizer that the returned
137 * pointer can be assumed to be k modulo n. The second argument is 135 * pointer can be assumed to be k modulo n. The second argument is