J
jacob navia
After a user asked for clarification about some warnings issued by
lcc-win, I have updated the compiler to reflect this discussion.
1) The buggy warning about
long l;
printf("%li", l * 10L);
is eliminated. This means that when you
write:
long l;
printf("%i", l*10L);
there will be no warning about expecting an
integer given a long. Better less warnings always correct
than more warnings sometimes incorrect. The alternative, i.e.
maintaining the type long internally when both long and int
are identical would be too much changes in the compiler.
2) I maintain two of the three warnings.
Warning tprintf.c: 4 old-style function definition for 'main'
Warning tprintf.c: 4 missing prototype for 'main'
but dropped the "non-ANSI" warning. A warning will be issued
if main differs from its ANSI prototype.
I thank all people that participated in this discussion and
the user that raised this question in the first place.
jacob
lcc-win, I have updated the compiler to reflect this discussion.
1) The buggy warning about
long l;
printf("%li", l * 10L);
is eliminated. This means that when you
write:
long l;
printf("%i", l*10L);
there will be no warning about expecting an
integer given a long. Better less warnings always correct
than more warnings sometimes incorrect. The alternative, i.e.
maintaining the type long internally when both long and int
are identical would be too much changes in the compiler.
2) I maintain two of the three warnings.
Warning tprintf.c: 4 old-style function definition for 'main'
Warning tprintf.c: 4 missing prototype for 'main'
but dropped the "non-ANSI" warning. A warning will be issued
if main differs from its ANSI prototype.
I thank all people that participated in this discussion and
the user that raised this question in the first place.
jacob