ft_ssl/includes/compiler.h
2026-05-18 17:52:33 +02:00

22 lines
621 B
C

#ifndef COMPILER_H
#define COMPILER_H
#define __unused __attribute__((unused))
#define COUNT_OF(arr) (sizeof(arr) / sizeof((arr)[0]))
#define STATIC_ARRAY_FOREACH(arr, ptr) \
for ((ptr) = (arr); (ptr) < (arr) + COUNT_OF(arr); (ptr)++)
#define STRX(x) #x
#define STR(x) STRX(x)
#define HAS_FLAG(flags, flag) ((flags) & (flag))
#define SET_FLAG(flags, flag) ((flags) |= (flag))
#define CLEAR_FLAG(flags, flag) ((flags) &= ~(flag))
#define TOGGLE_FLAG(flags, flag) ((flags) ^= (flag))
#define FOREACH_SECTION(item, type, section) \
for (type *item = __start_##section; item < __stop_##section; ++item)
#endif