https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108632
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Hans-Peter Nilsson from comment #0) > The test appears to assert that the footprint of hh_mm_ss<seconds> is > minimal, but for that, S0 misses a trailing empty member for > hh_mm_ss<seconds> , which for most targets is hidden in padding, but which > require at least one byte of storage and thus for such targets you'll have > sizeof(hh_mm_ss<seconds>) 8+1+1+1 +1 = 12. Yes, the reason I didn't bother to add [[no_unique_address]] there for the final member of hh_mm_ss is that I assumed the byte for the empty struct would always be present as padding anyway. I keep forgetting about the unusual alignment on cris-elf! Thanks for the fix.