Here is a list of differences between the language, the compiler accepts, and the one defined by the ISO standard:
--standard
command line option.
asm
__asm__
fastcall
__fastcall__
__AX__
__EAX__
__func__
__attribute__
The keywords without the underlines can be disabled with the
--standard
command line
option.
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.