If you are using a C99 compiler, then the rules for C90 still apply, however you may use the following additional features of C99:
comments introduced by // (these are allowed by eCv even in C90 mode)
declarations do not have to be at the start of a compound statement; however, eCv does not allow declarations directly in the cases of a switch-statement
inline storage class when declaring functions
_Bool type (provided that you set up the correct definitions so that it is equivalent to eCv's bool type)
compound literals (but not using named member notation)
If you are using a C++ compiler then the rules for C90 still apply, however you may use the following features from C++:
comments introduced by //
declarations do not have to be at the start of a compound statement (however, eCv does not allow declarations directly in the cases of a switch-statement)
inline storage class when declaring functions
bool type
wchar_t is a type, not a typedef
classes (but not inheritance, virtual functions, destructors, or pointers-to-member)
constructors (but not copy constructors). Single-argument constructors must be marked explicit.
public and private members
non-virtual function members of classes and structs
template declarations that do not involve member lookup on dependent types, specialization, or the export keyword
reference types, for parameter passing only
eCv Manual, Version 5.0, September 2011.
© 2010 onwards Escher Technologies Limited. All rights reserved.