git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] GIT 1.0.7

From
HAH. Peter Anvin <hpa@zytor.com>
Date
Jan 7, 2006, 20:47 UTC
Message-ID
<43C028CA.8090702@zytor.com>
In-Reply-To
<7vmzi8mkdi.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 34 quoted lines
> 
> Here is what I am planning to merge into the master/maint.  The
> patch is for maint which does not ship with describe, but the
> problematic path[] can be updated to path[FLEX_ARRAY] as others
> when merging it to the master branch.
> 
> -- >8 --
> Subject: [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 lets 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.
> 
> Although I have not tried this myself, 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".
> 
Any reason to not just do:
  	struct frotz {
  		int xyzzy;
  		char nitfol[1]; /* more */
  	};
... which should work on all compilers?
	-hpa
Previous: Junio C HamanoNext: Junio C Hamano
Message 9 of 11 in “[ANNOUNCE] GIT 1.0.7”
  1. Junio C HamanoJan 7, 2006
  2. YOSHIFUJI Hideaki / 吉藤英明Jan 7, 2006
  3. David S. MillerJan 7, 2006
  4. YOSHIFUJI Hideaki / 吉藤英明Jan 7, 2006
  5. Junio C HamanoJan 7, 2006
  6. Junio C HamanoJan 7, 2006
  7. Sergey VlasovJan 7, 2006
  8. Junio C HamanoJan 7, 2006
  9. H. Peter AnvinJan 7, 2006
  10. Junio C HamanoJan 7, 2006
  11. H. Peter AnvinJan 7, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.