Code

[PATCH] Compilation: zero-length array declaration.
authorJunio C Hamano <junkio@cox.net>
Sat, 7 Jan 2006 09:33:54 +0000 (01:33 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 7 Jan 2006 18:51:06 +0000 (10:51 -0800)
commit8f1d2e6f49ee51ac062ab38337a6a70dd1998def
tree0054fb58243a1ede631e0d12a0482d37c3476a25
parent3be7098ce444395959c856de1eb9312550193aac
[PATCH] Compilation: zero-length array declaration.

ISO C99 (and GCC 3.x or later) lets you write a flexible array
at the end of a structure, like this:

struct frotz {
int xyzzy;
char nitfol[]; /* more */
};

GCC 2.95 and 2.96 let you to do this with "char nitfol[0]";
unfortunately this is not allowed by ISO C90.

This declares such construct like this:

struct frotz {
int xyzzy;
char nitfol[FLEX_ARRAY]; /* more */
};

and git-compat-util.h defines FLEX_ARRAY to 0 for gcc 2.95 and
empty for others.

If you are using a C90 C compiler, you should be able
to override this with CFLAGS=-DFLEX_ARRAY=1 from the
command line of "make".

Signed-off-by: Junio C Hamano <junkio@cox.net>
blob.c
cache.h
commit.c
git-compat-util.h
ls-files.c
object.c
object.h
receive-pack.c
tag.c
tree.c