/in/foo.cc: In function 'long int days(d, d)':
/in/foo.cc:2:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
#define leap(y) ((y)%4==0 && (y)%100!=0 || (y)%400==0)
~~~~~~~~~^~~~~~~~~~~~~
/in/foo.cc:13:5: note: in expansion of macro 'leap'
td+=leap(i)?366:365;
^~~~
/in/foo.cc:2:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
#define leap(y) ((y)%4==0 && (y)%100!=0 || (y)%400==0)
~~~~~~~~~^~~~~~~~~~~~~
/in/foo.cc:15:9: note: in expansion of macro 'leap'
td-=mon[leap(d1.y)][i];
^~~~
/in/foo.cc:2:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
#define leap(y) ((y)%4==0 && (y)%100!=0 || (y)%400==0)
~~~~~~~~~^~~~~~~~~~~~~
/in/foo.cc:18:9: note: in expansion of macro 'leap'
td+=mon[leap(d2.y)][i];
^~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:27:29: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int' [-Wformat=]
printf("%d days",days(d1,d2));
^