Apart from the things listed below, the compiler does support additional
keywords, has several functions in the standard headers with names outside the
reserved namespace and a few syntax extensions. All these can be disabled with
the
--standard
command line
option. Its use for maximum standards compatibility is advised.
Here is a list of differences between the language, the compiler accepts, and the one defined by the ISO standard:
volatile
keyword doesn't have an effect. This is not as bad
as it sounds, since the 6502 has so few registers that it isn't
possible to keep values in registers anyway.
There may be some more minor differences I'm currently not aware of. The biggest problem is the missing float data type. With this limitation in mind, you should be able to write fairly portable code.