--mind-boggling. So they actually intentionally made the language worse in the C11 TC3 revision versus the C99 standard.
Sigh. It's really hard to get compiler and language guys to do anything. I suggest the most stunningly obvious idea, they tell me I am an idiot. Then years and years later, they do what I suggested, forgetting entirely that I suggested it and forgetting that it was an idiotic idea. This has happened to me many times. If I were to suggest undoing my (later adopted) "idiotic" suggestion now, those exact same people would undoubtably again tell me I am an idiot. There is absolutely no good reason why things have to be *legislated* to be an integer number of bytes. They could be single bits. It would be fine. PASCAL already provided it 40 years ago. If you wanted to make a packed array of 63 bools, you could pad it up to 64 to fit it in an integer number of bytes. I'd be ok with that. I'm not ok with gratuitously wasting a factor of 8 in memory and/or forcing programmers to do lots more work and use cruddy syntax, merely because the compiler writers were too lazy to just change a few numbers in their code. They make bad decisions then fossilize them. And it is an absolute outrage that every processor in the universe provides "add with carry" but the C language insists on preventing you from accessing that, while providing a way to access combined divide & remainder instead. It is simply not a justifiable decision. You can lead a horse to water... -- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)