Lines Matching +full:keep +full:- +full:a +full:- +full:live
2 #error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead."
20 * normal barrier(): while gcc behavior gets along with a normal
34 * This macro obfuscates arithmetic on a variable address so that gcc
42 * A miscompilation has been observed because of this on PPC.
46 * Versions of the ppc64 compiler before 4.1 had a bug where use of
63 #define __must_be_array(a) 0 argument
65 /* &a[0] degrades to a pointer: a different type from an array */
66 #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) argument
70 * Force always-inline if the user requests it so via the .config,
79 /* A lot of inline functions can cause havoc with function tracing */
114 * variables. Such a function can be subject to common subexpression
121 #define __printf(a, b) __attribute__((format(printf, a, b))) argument
122 #define __scanf(a, b) __attribute__((format(scanf, a, b))) argument
130 # error Sorry, your compiler is too old - please upgrade it.
159 #define __compiler_offsetof(a, b) \ argument
160 __builtin_offsetof(a, b)
167 /* Mark functions as cold. gcc will assume any path leading to a call
168 * to them will be unlikely. This means a lot of manual unlikely()s
170 * like BUG(), printk(), panic() etc. [but let's keep them for now for
174 * in the preprocessor, but we can live with this because they're unreleased.
177 * gcc also has a __attribute__((__hot__)) to move hot functions into
178 * a special section, but I don't see any sense in this right now in
193 * Mark a position in code as unreachable. This can be used to
198 * this in the preprocessor, but we can live with this because they're
203 /* Mark a function definition as prohibited from being cloned. */
223 * optional (default 0), so we use a variadic macro to make the
232 #define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__))) argument
240 * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
242 * (asm goto is automatically volatile - the naming reflects this.)
282 * A trick to suppress uninitialized variable warning without generating any