
#define FOO(bar) create_a_really_long_identifier name(some_function(bar1 + bar2), bar3, bar4);

#define VNV_RECORD_CYCLES(m) do { \
uint16_t cyc_out = ((uint16_t )TMR4) - cyc_in; \
if (cyc_out < vnv_ticks[m].min) vnv_ticks[m].min = cyc_out; \
if (cyc_out > vnv_ticks[m].max) vnv_ticks[m].max = cyc_out; \
} while (0)

#define multilinemacro do { (x+5); } while (0); \
printf("a multilinemacro"); \
printf("a multilinemacro2");

int main(int argc, char *argv[])
{
   int a, b;
a = 1; // stupid comment \\
b = 2;

return(a+b);
}
