Currently, when compiling using --std-sdcc89 or --std-sdcc99 (but not
when using --std-c89, --std-c99 or --std-c11), sdcc allows functions
with return type void to return expressions of type void. Example:
void f1(void);
void f2(void)
{
return(f1());
}
In standard C, this is not allowed (unlik
Currently, when compiling using --std-sdcc89 or --std-sdcc99 (but not
when using --std-c89, --std-c99 or --std-c11), sdcc does not do integer
promotion on explicitly cast arguments to functions with variable arguments:
void f1(int, ...);
char c;
void f2(void)
{
f1(0, (char)c); // Will pa
On 17/01/2015 19:03, "Philipp Klaus Krause" wrote:
>Currently, when compiling using --std-sdcc89 or --std-sdcc99 (but not
>when using --std-c89, --std-c99 or --std-c11), sdcc does not do integer
>promotion on explicitly cast arguments to functions with variable
>arguments:
>
>void f1(int, ...);
>
On 17/01/2015 18:51, "Philipp Klaus Krause" wrote:
>Currently, when compiling using --std-sdcc89 or --std-sdcc99 (but not
>when using --std-c89, --std-c99 or --std-c11), sdcc allows functions
>with return type void to return expressions of type void. Example:
>
>void f1(void);
>
>void f2(void)
>{