CompCert akzeptiert ganz ISO C 99 mit den folgenden Ausnahmen:
longjmp
und setjmp
funktionieren nicht unbedingt.switch
-Anweisungen strukturiert sein müssen (wie in MISRA-C).
Unterstützung für unstrukturierte Switches (wie in Duff’s Device) kann
mithilfe der Kommandozeilenoption -funstructured-switch
aktiviert werden.Insgesamt unterstützt CompCert damit die Teilmenge von C, die MISRA-C 2004 entspricht, sowie viele Features, die von MISRA ausgeschlossen werden (z. B. rekursive Funktionen und dynamische Haldenspeicherallokation).
Darüberhinaus unterstützt CompCert diverse ISO-C-2011-Features:
_Alignof
-Operator und das _Alignas
-Attribut._Static_assert
-Anweisungen und _Generic
-Ausdrücke.Zusätzlich unterstützt CompCert einige Erweiterungen des ISO C, die vom GNU- bzw. Diab-Compiler übernommen wurden:
Testen Sie CompCert kostenlos an Ihren eigenen Anwendungen.