cdefs: Add __writeonly to mark write only vars

When a variable in write only and can't be removed, e.g. for API
reasons, it is useful to document this fact similar to __diagused
and __witness_used.

Add __writeonly to tell the compiler and anyone looking at the code
that this variable is expected to only be written to, and to not
raise and error.

Reviewed by:	imp, kib
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D45561
This commit is contained in:
Andrew Turner 2024-06-12 14:04:13 +01:00
parent 62cb671705
commit a7ae78caaa

View File

@ -180,6 +180,7 @@
#define __aligned(x) __attribute__((__aligned__(x)))
#define __section(x) __attribute__((__section__(x)))
#endif
#define __writeonly __unused
#if __GNUC_PREREQ__(4, 3) || __has_attribute(__alloc_size__)
#define __alloc_size(x) __attribute__((__alloc_size__(x)))
#define __alloc_size2(n, x) __attribute__((__alloc_size__(n, x)))