From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: phillip.wood@dunelm.org.uk
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH] revision: use C99 declaration of variable in for() loop
Date: Wed, 17 Nov 2021 13:39:33 +0100 [thread overview]
Message-ID: <211117.86bl2j6j6z.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <61518213-9ce8-00d2-efd9-7f2091c574c4@gmail.com>
On Wed, Nov 17 2021, Phillip Wood wrote:
> Hi Junio
>
> On 15/11/2021 06:27, Junio C Hamano wrote:
>> There are certain C99 features that might be nice to use in our code
>> base, but we've hesitated to do so in order to avoid breaking
>> compatibility with older compilers. But we don't actually know if
>> people are even using pre-C99 compilers these days.
>> One way to figure that out is to introduce a very small use of a
>> feature, and see if anybody complains, and we've done so to probe
>> the portability for a few features like "trailing comma in enum
>> declaration", "designated initializer for struct", and "designated
>> initializer for array". A few years ago, we tried to use a handy
>> for (int i = 0; i < n; i++)
>> use(i);
>> to introduce a new variable valid only in the loop, but found that
>> some compilers we cared about didn't like it back then. Two years
>> is a long-enough time, so let's try it agin.
>> If this patch can survive a few releases without complaint, then we
>> can feel more confident that variable declaration in for() loop is
>> supported by the compilers our user base use. And if we do get
>> complaints, then we'll have gained some data and we can easily
>> revert this patch.
>
> I like the idea of using a specific test balloon for the features that
> we want to use but wont this one break the build for anyone doing
> 'make DEVELOPER=1' because -Wdeclaration-after-statement will error
> out. I think we could wrap the loop in gcc's warning pragmas to avoid
> that.
Good point.
Overall something that brings us to the end-state 765dc168882
(git-compat-util: always enable variadic macros, 2021-01-28) brought us
to is probably better, i.e. something you can work around by defining or
undefining a macro via a Makefile parameter, instead of needing to patch
git's sources.
next prev parent reply other threads:[~2021-11-17 12:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-13 12:28 [PATCH] MyFirstContribution.txt: fix undeclared variable i in sample code Saksham Mittal
2021-11-13 13:05 ` Johannes Altmanninger
2021-11-13 13:08 ` Saksham Mittal
2021-11-14 6:41 ` Junio C Hamano
2021-11-14 14:28 ` Is 'for (int i = [...]' bad for C STD compliance reasons? (was: [PATCH] MyFirstContribution.txt: fix undeclared variable i in sample code) Ævar Arnfjörð Bjarmason
2021-11-14 18:03 ` Is 'for (int i = [...]' bad for C STD compliance reasons? Junio C Hamano
2021-11-14 18:25 ` Ævar Arnfjörð Bjarmason
2021-11-14 18:57 ` brian m. carlson
2021-11-14 19:33 ` Carlo Arenas
2021-11-14 19:01 ` Carlo Arenas
2021-11-15 6:27 ` [PATCH] revision: use C99 declaration of variable in for() loop Junio C Hamano
2021-11-15 7:44 ` Martin Ågren
2021-11-16 8:29 ` Junio C Hamano
2021-11-15 22:26 ` brian m. carlson
2021-11-17 11:03 ` Phillip Wood
2021-11-17 12:39 ` Ævar Arnfjörð Bjarmason [this message]
2021-11-17 22:30 ` SZEDER Gábor
2021-11-18 7:09 ` Junio C Hamano
2021-12-07 11:10 ` Phillip Wood
2021-12-07 20:37 ` Junio C Hamano
2021-12-08 12:17 ` Removing -Wdeclaration-after-statement (was: [PATCH] revision: use C99 declaration of variable in for() loop) Ævar Arnfjörð Bjarmason
2021-12-08 17:05 ` Removing -Wdeclaration-after-statement Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=211117.86bl2j6j6z.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).