There's a 8-bit hole left in the struct and that's exactly what we'll
need to store the details. In fact we're only using 6 bits now and
they're a bit wasted, so we could even compact them to be merged with
the type later if needed.
const char *desc;
uint16_t line;
uint8_t type;
- /* one-byte hole here */
+ uint8_t details;
uint32_t count;
};
.func = __func__, \
.line = _line, \
.type = _type, \
+ .details = _details, \
.desc = (sizeof("" #_cond) > 1) ? \
(sizeof("" __VA_ARGS__) > 1) ? \
"" #_cond "\x1e" __VA_ARGS__ : \