Scroll to navigation

CTASSERT(9) Kernel Developer's Manual CTASSERT(9)

NAME

CTASSERTcompile time assertion macro

SYNOPSIS

#include <sys/param.h>
#include <sys/systm.h>

CTASSERT(expression);

DESCRIPTION

The () macro is deprecated and the C11 standard () should be used instead. The header sys/cdefs.h should be included to provide compatibility for pre-C11 compilers.

The () macro evaluates expression at compile time and causes a compiler error if it is false.

The () macro is useful for asserting the size or alignment of important data structures and variables during compilation, which would otherwise cause the code to fail at run time.

EXAMPLES

Assert that the size of the uuid structure is 16 bytes.

CTASSERT(sizeof(struct uuid) == 16);

SEE ALSO

KASSERT(9)

AUTHORS

This manual page was written by Hiten M. Pandya <hmp@FreeBSD.org>.

August 1, 2015 Debian