No one knows the type of char+char
blog.knatten.org
blog.knatten.org
This doesn't fully solve the issues related to integer promotion, I think, but if you specify uint8_t, and there isn't an underlying type that exactly matches that size, the compiler should tell you, and you can re-think what you are doing (or, more likely, whether you want to continue to try to work with that toolchain and platform).