Am 01.03.19 um 10:17 schrieb Philipp Klaus Krause: > The C standard does not allow returning expressions in functions > returning void. E.g. this > > static void attr_rtx (char *, char *); > static char *attr_string (char *); > > static void > attr_eq (char *name, char *value) > { > return attr_rtx (attr_string (name), attr_string (value)); > } > > is not allowed by the standard. However, GCC allows it as an extension. > SDCC also currently allows it as an extension (i.e. when --std-cXX is > not specified). > > Is anyone using that extension functionality? > > There seem to be some bugs in it, and it might be easier to just > disallow it, as in the standard (i.e. giving an error message even for > --std-sdccXX), rather than tracking down the details of the bugs. > > Philipp
For reference: SDCC used to allow it even when --std-cXX was specified until Maarten implemented the error message for that case in 2013. The current question is if that error message should be emitted unconditionally. Philipp
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user