Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

undefined on an AVR or other microcontroller where sizeof(int) == sizeof(char) though.

Just noting that ints are 16 bits wide in AVR-GCC, unless you use the -mint8 option which violates C standards.



Absolutely true. Note, though, that sizeof(int) == sizeof(char) is allowed if you have 16-bit chars.


16-bit chars aren't allowed in modern versions of C -- CHAR_BIT is required to be 8.


Thanks for the update! (For the curious: C99 or POSIX both require CHAR_BIT == 8.)


C99 only requires CHAR_BIT to be at least 8 (5.2.4.2.1:1). POSIX requires it to be exactly 8.


Oops, quite right. I missed the "equal or greater in magnitude" line when I was reading that section.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: