Lines Matching +full:non +full:- +full:volatile
4 * See the COPYING file in the top-level directory.
45 const typeof(((type *) 0)->member) *__mptr = (ptr); \
46 (type *) ((char *) __mptr - offsetof(type, member));})
49 #define sizeof_field(type, field) sizeof(((type *)0)->field)
61 -offsetof(type, field)]; \
64 #define typeof_field(type, field) typeof(((type *)0)->field)
65 #define type_check(t1,t2) ((t1*)0 - (t2*)0)
69 int:(x) ? -1 : 1; \
76 #define QEMU_BUILD_BUG_ON_ZERO(x) (sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)) - \
88 #define __has_warning(x) 0 /* compatibility with non-clang compilers */
92 #define __has_feature(x) 0 /* compatibility with non-clang compilers */
96 #define __has_builtin(x) 0 /* compatibility with non-clang compilers */
142 * with functions that expect NUL-terminated strings, and to avoid warnings
155 * so disable it for a non-optimizing build.
165 * switch-case statements, but sometimes the compiler has problems
176 * If CFI is enabled, use an attribute to disable cfi-icall on the following
179 #define QEMU_DISABLE_CFI __attribute__((no_sanitize("cfi-icall")))
198 * Disable -ftrivial-auto-var-init on a local variable.
204 * attribute, to pre-emptively eliminate any potential overhead from the
208 * to flag variables, it is important that the code is double-checked to
220 * TSA is available since clang 3.6-ish.
225 # define TSA(x) /* No TSA, make TSA attributes no-ops. */
255 * More than one mutex may be specified, comma-separated.
267 * More than one mutex may be specified, comma-separated.
278 * More than one mutex may be specified, comma-separated.
289 * More than one mutex may be specified, comma-separated.
308 * More than one mutex may be specified, comma-separated.
331 * the variable that receives the old value of an atomically-accessed
332 * variable must be non-qualified, because atomic builtins return values
333 * through a pointer-type argument as in __atomic_load(&var, &old, MODEL).
337 * converted to a non-qualified type just by applying a binary operator.
344 __builtin_types_compatible_p(typeof(expr), volatile bool) || \
345 __builtin_types_compatible_p(typeof(expr), const volatile bool), \
350 __builtin_types_compatible_p(typeof(expr), volatile signed char) || \
351 __builtin_types_compatible_p(typeof(expr), const volatile signed char), \
356 __builtin_types_compatible_p(typeof(expr), volatile unsigned char) || \
357 __builtin_types_compatible_p(typeof(expr), const volatile unsigned char), \
362 __builtin_types_compatible_p(typeof(expr), volatile signed short) || \
363 __builtin_types_compatible_p(typeof(expr), const volatile signed short), \
368 __builtin_types_compatible_p(typeof(expr), volatile unsigned short) || \
369 __builtin_types_compatible_p(typeof(expr), const volatile unsigned short), \