Subsections
Use --std-c90
to compile in this mode.
- initialization of structure arrays must be fully braced.
struct s { char x } a[] = {1, 2}; /* invalid
in SDCC */
struct s { char x } a[] = {{1}, {2}}; /* OK
*/
- float is substituted for (long)
double and a warning is emitted.
- K&R style functions are syntactically
supported, but with the semantics of ISO style functions.
- pic14, pic16: structures and unions cannot
be passed as function parameters
- hc08, s08, mos6502, pic14, pic16: they cannot be a return value
from a function, e.g.:
struct s { ... };
struct s foo1 (struct
s parms) /* unsupported in these SDCC ports */
{
struct s rets;
...
return rets; /* unsupported in these SDCC ports
*/
}
- mcs51, ds390, hc08, s08, pdk13, pdk14, pdk15 and mos6502 ports: functions
are not reentrant unless explicitly declared as such or --stack-auto
is specified.