Added `map_handle_err()` for easier error reporting and handling
Added `map_error_str()` to convert a non-`MAP_SUCCESS` `map_result_t` into an error message
Fortune for naka's current commit: Small blessing − 小吉
Add TODO() for unimplemented functions
Add unimplemented function prototype `v_in(v,r1,r2)`. If comparing versions via range is needed in the future, we can implement this. It is trivially implemented to comparing bswap"d raws (big endian comparisons), so we could make an endian-aware raw comparison for this, or we could compare components. Too much boilerplate for now, and i don"t think such a function would be useful, so leaving it dead.
Fortune for naka's current commit: Curse − 凶
Fix bug involving _mixin producing conflicting symbols: now using `gnu_inilne` (macro"d to `force_inline`), instead of `always_inline`
Fortune for naka's current commit: Blessing − 吉
TODO: Move them out of header and into seperate TU "version.c"
version_t holds version components. `v_rawtoc()`, `v_ctoraw()` to create from/convert to the format used by `VERSION()` macro and friends. Punning this union between the raw (u32, used by the macros) and the componant struct (`v_comp`) is possible on little endian machines but discouraged.
Fortune for naka's current commit: Half blessing − 半吉
the macro uses GCC builtins to guarantee generation of `bswap*` instructions.
Integer types are supported from u/i16 to u/i128
Fix bug in VERSION macro expansion with internal `#undef`"d macros.
Fortune for naka's current commit: Half blessing − 半吉