I have found what I believe to be a compiler bug: Comparing an int to a u16int causes the int to be cast to unsigned int, instead of the u16int being promoted to int and then compared (as I would argue the C89 standard specifies).
As a result -1 < u is false for any u16int u. Or is this intended behaviour?

I have verified that 8c exhibits the bug, but have not checked the other compilers.
gcc does not seem to have this bug.

Julius Schmidt

Reply via email to