From: Taylor Blau Date: Thu, 05 Jul 2018 19:35:05 GMT Subject: Re: [PATCH] builtin/config: work around an unsized array forward declaration Message-ID: <20180705193505.GA71957@syl.attlocal.net> In-Reply-To: <20180705183445.30901-1-dev+git@drbeat.li> On Thu, Jul 05, 2018 at 08:34:45PM +0200, Beat Bolli wrote: > As reported here[0], Microsoft Visual Studio 2017.2 and "gcc -pedantic" > don't understand the forward declaration of an unsized static array. > They insist on an array size: > > d:\git\src\builtin\config.c(70,46): error C2133: 'builtin_config_options': unknown size > > The thread [1] explains that this is due to the single-pass nature of > old compilers. > > To work around this error, introduce the forward-declared function > usage_builtin_config() instead that uses the array > builtin_config_options only after it has been defined. Argh, I think that this is my fault (via: fb0dc3bac1 (builtin/config.c: support `--type=` as preferred alias for `--`, 2018-04-18)). Thank you for the explanation above, and for the patch below. I reviewed it myself, and the fix seems to be appropriate. > Also use this function in all other places where usage_with_options() is > called with the same arguments. > > [0]: https://github.com/git-for-windows/git/issues/1735 > [1]: https://groups.google.com/forum/#!topic/comp.lang.c.moderated/bmiF2xMz51U > > Fixes https://github.com/git-for-windows/git/issues/1735 > > Reported-By: Karen Huang (via GitHub) > Signed-off-by: Beat Bolli Thanks, Taylor