#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 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)) #endif