On Tue, 28 Oct 2008 16:16:38 -0700
Paul Querna <[EMAIL PROTECTED]> wrote:
> Paul Querna wrote:
> > André Malo wrote:
> >> * Paul Querna wrote:
> >>
> >>> Ruediger Pluem wrote:
> >>
> >>>> This does not work on ANSI C compilers. Declarations need to be at the
> >>>> start of the block.
> >>> Then lets not support them.
> >>>
> >>> C90 required that variable decls came before code, but IIRC C99 style
> >>> mid-function declarations should work on pretty much all modern
> >>> platforms, aka anything with GCC or MSVC.
> >>
> >> -1.
> >> "IIRC" and "pretty much all modern" are both bad reasons for being
> >> sloppy ;-)
> >>
> >> IIRC ( >:-> ) the AIX compiler actually doesn't like it, but other
> >> people know that better.
> >
> > Then lets not support AIX :-)
>
> To expand on my beliefs around this a little bit, if a platform doesn't
> have things like kqueue, epool or event ports, and it still doesn't have
> a c99 compiler, where is the value in supporting it, they are likely
> still using Apache 1.3 anyways.
>
> -Paul
>
VC++2005 doesn't support mid-function declarations as a C compiler.
Maybe VC++2008 doesn't either.
With a file name extension ".c",
#include <stdio.h>
int main(){
puts("");
int a = 0;
return 0;
}
does not compile with error C2143.