#define int(x) ((int)(x))
#define char(x) ((char)(x))
#define long(x) ((long)(x))
#define byte(x) ((uint8_t)(x))
#define float(x) ((float)(x))
#define boolean(x) ((uint8_t)((x)==0?0:1))
I had a look at the new wiring.h and it appears that there will also be a problem with function pointers that return: char, long, byte, float and boolean.
This may well be a reasonable trade-off but I am struggling to think of an example where these macros would be helpful. Could you humor me and point me towards an example that requires one of these macros.