CTASSERT(9)

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

# NAME

CTASSERT — compile time assertion macro

# SYNOPSIS

void
CTASSERT(expression);

# DESCRIPTION

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

The CTASSERT() 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.

# IMPLEMENTATION NOTES

The CTASSERT() macro should not be used in a header file. It is implemented using a dummy typedef, with a name (based on line number) that may conflict with a CTASSERT() in a source file including that header.

# 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>.

January 24, 2010 | NetBSD 5.99