From: Junio C Hamano Date: Thu, 15 Nov 2007 00:30:08 GMT Subject: Re: [PATCH] Fix Solaris Workshop Compiler issues Message-ID: <7v3av89wq7.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20071115001756.GA25021@atjola.homenet> Björn Steinbrink writes: > No, just tried with cc: Sun C 5.7 Patch 117837-06 2005/10/05 > > It's the "struct hack", ie. the incomplete array at the end of > delta_index. Still looking for a fix/workaround. Do you mean the "FLEX_ARRAY" thing? You can ask for FLEX_ARRAY from the command line of your "make" process. There is this thing in git-compat-util.h #ifndef FLEX_ARRAY #if defined(__GNUC__) && (__GNUC__ < 3) #define FLEX_ARRAY 0 #else #define FLEX_ARRAY /* empty */ #endif #endif The sources are written this way: struct foo { ... other members ... char last_member_that_is_flexible[FLEX_ARRAY]; }; For older gcc, because we know about its lack of support, the above turns into: struct foo { ... other members ... char last_member_that_is_flexible[0]; } But for recent enough compilers that grok the "flexible array members", the above expands to: struct foo { ... other members ... char last_member_that_is_flexible[]; } Maybe your compiler needs -DFLEX_ARRAY=0 in CFLAGS?