path: root/object.h
diff options
authorJunio C Hamano <>2006-01-07 09:33:54 (GMT)
committerJunio C Hamano <>2006-01-07 18:51:06 (GMT)
commit8f1d2e6f49ee51ac062ab38337a6a70dd1998def (patch)
tree0054fb58243a1ede631e0d12a0482d37c3476a25 /object.h
parent3be7098ce444395959c856de1eb9312550193aac (diff)
[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 <>
Diffstat (limited to 'object.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/object.h b/object.h
index 336d986..0e76182 100644
--- a/object.h
+++ b/object.h
@@ -9,7 +9,7 @@ struct object_list {
struct object_refs {
unsigned count;
- struct object *ref[0];
+ struct object *ref[FLEX_ARRAY]; /* more */
struct object {