Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
C
1234567891011121314151617181920212223242526272829303132333435/* SPDX-License-Identifier: GPL-2.0 */#ifndef TYPECHECK_H_INCLUDED#define TYPECHECK_H_INCLUDED
/* * Check at compile time that something is of a particular type. * Always evaluates to 1 so you may use it easily in comparisons. */#define typecheck(type,x) \({ type __dummy; \ typeof(x) __dummy2; \ (void)(&__dummy == &__dummy2); \ 1; \})
/* * Check at compile time that 'function' is a certain type, or is a pointer * to that type (needs to use typedef for the function type.) */#define typecheck_fn(type,function) \({ typeof(type) __tmp = function; \ (void)__tmp; \})
/* * Check at compile time that something is a pointer type. */#define typecheck_pointer(x) \({ typeof(x) __dummy; \ (void)sizeof(*__dummy); \ 1; \})
#endif /* TYPECHECK_H_INCLUDED */