Here is a list of differences between the language, the compiler accepts, and the one defined by the ISO standard:
asm
__asm__
fastcall
__fastcall__
__AX__
__EAX__
__func__
__attribute__
The keywords without the underlines are disabled in strict ANSI mode.
There may be some more minor differences, I'm currently not aware off. The biggest problem is the missing float data type. With this limitation in mind, you should be able to write fairly portable code.