CodingGuidelines: update for C99

Since 7bc341e21b (git-compat-util: add a test balloon for C99
support, 2021-12-01) we've had a hard dependency on C99, but the prose
in CodingGuidelines was written under the assumption that we were
using C89 with a few C99 features.

As the updated prose notes we'd still like to hold off on novel C99
features, but let's make it clear that we target that C version, and
then enumerate new C99 features that are safe to use.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 2022-10-10 13:37:56 -07:00 committed by Junio C Hamano
parent 3dcec76d9d
commit e88a2d02dc
1 changed files with 6 additions and 2 deletions

View File

@ -204,10 +204,14 @@ For C programs:
by e.g. "echo DEVELOPER=1 >>config.mak".

- We try to support a wide range of C compilers to compile Git with,
including old ones. You should not use features from newer C
including old ones. As of Git v2.35.0 Git requires C99 (we check
"__STDC_VERSION__"). You should not use features from a newer C
standard, even if your compiler groks them.

There are a few exceptions to this guideline:
New C99 features have been phased in gradually, if something's new
in C99 but not used yet don't assume that it's safe to use, some
compilers we target have only partial support for it. These are
considered safe to use:

. since early 2012 with e1327023ea, we have been using an enum
definition whose last element is followed by a comma. This, like