On 14/11/12 12:32, Tim Ruehsen wrote: > Am Wednesday 14 November 2012 schrieb Daniel Stenberg: >> Don't you still build wget on C89 systems without long long and 64 >> bit support? > Ouch. Good point. > > But then, compiling Wget with -std=c89 won't work at all. > Using -std=gnu89 -pedantic tells us why Wget won't compile with a c89-only > compiler (just an excerpt): > > gettext.h:248:3: warning: ISO C90 forbids variable length array 'msg_ctxt_id' This is guarded by _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
> gnutls.c:89:3: warning: ISO C90 forbids mixed declarations and code > iri.c:101:12: warning: ISO C forbids braced-groups within expressions This is due to the expansion of c_isspace(), which is only a macro under gcc. > warc.c:535:3: warning: C++ style comments are not allowed in ISO C90 > main.c:210:33: warning: ISO C forbids conversion of function pointer to > object > pointer type ISO C doesn't seem to support OPT_FUNCALL, which is what generates this warning (and another below), > ../lib/regex.h:653:26: warning: ISO C90 does not support 'static' or type > qualifiers in parameter array declarators This is probably the _Restrict_arr_, which is checked above for gcc version (enabled because you gave -std=gnu89), so not really a problem. There are many C90isms warnings, but most of them seems to not be really triggered on a c89 compiler. > Taking this into account: is there any good point in not using long long ? > The > code is already "polluted" by c99 stuff. I'm a bit worried about windows support. On the one hand its C compiler may not support long long (but are we supporting that compiler?), but on the other msvcrt.dll doesn't support %lld (it has an equivalent specifier but with a different name), which *is* used by mingw32.
