Re: [PATCH] Fix Solaris Workshop Compiler issues
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 15, 2007, 00:30 UTC
- Message-ID
- <7v3av89wq7.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20071115001756.GA25021@atjola.homenet>
Björn Steinbrink <B.Steinbrink@gmx.de> 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
#endifThe 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?