@lritter It's not just Clang. Padding bytes are a 'no-go-area' for C and C++ compilers.
One area where I've seen padding bytes being lost was calling a function which takes a struct by value (and I seem to remember not just for small structs where the struct content is passed in registers), or even just assigning one struct to another without using memcpy (but tbh I wouldn't even trust memset or memcpy, since these are essentially builtins today).
