Re: [PATCH v3 1/1] protocol: advertise multiple supported versions
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Nov 14, 2018, 00:47 UTC
- Message-ID
- <20181114004745.GH30222@szeder.dev>
- In-Reply-To
- <20181113230347.GH126896@google.com>
On Tue, Nov 13, 2018 at 03:03:47PM -0800, Josh Steadmon wrote:
> > > + for (int i = 1; i < nr_allowed_versions; i++) > > > > We don't do C99 yet, thus the declaration of a loop variable like this > > is not allowed and triggers compiler errors.
Show 5 quoted lines
> Sorry about that. Will fix in v4. Out of curiousity, do you have a > config.mak snippet that will make these into errors? I played around > with adding combinations of -ansi, -std=c89, and -pedantic to CFLAGS, > but I couldn't get anything that detect the problem without also > breaking on other parts of the build.
Unfortunately, I don't have such an universal CFLAGS.
With gcc-4.8 the default CFLAGS is sufficient:
$ make V=1 CC=gcc-4.8 protocol.o
gcc-4.8 -o protocol.o -c -MF ./.depend/protocol.o.d -MQ protocol.o -MMD -MP -g -O2 -Wall -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"x86_64\"" -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' protocol.c
protocol.c: In function ‘get_client_protocol_version_advertisement’:
protocol.c:112:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 1; i < nr_allowed_versions; i++)
^
< ... snip ... >I couldn't get this error with any newer GCC or Clang, and using options like -std=c89 trigger many other errors as well, just like you mentioned.