diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-10-28 00:24:13 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-10-28 00:24:13 +0200 |
commit | 4532cd8377200093be5dea53a44aea73f8465423 (patch) | |
tree | e708d76be4b951b2fdc6db6dae761945e67d2b3f | |
parent | Merge branch 'rs/use-fspathncmp' into maint-2.38 (diff) | |
parent | config.mak.dev: disable suggest braces error on old clang versions (diff) | |
download | git-4532cd8377200093be5dea53a44aea73f8465423.tar.xz git-4532cd8377200093be5dea53a44aea73f8465423.zip |
Merge branch 'jh/struct-zero-init-with-older-clang' into maint-2.38
Work around older clang that warns against C99 zero initialization
syntax for struct.
* jh/struct-zero-init-with-older-clang:
config.mak.dev: disable suggest braces error on old clang versions
-rw-r--r-- | config.mak.dev | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/config.mak.dev b/config.mak.dev index 4fa19d361b..981304727c 100644 --- a/config.mak.dev +++ b/config.mak.dev @@ -69,6 +69,31 @@ DEVELOPER_CFLAGS += -Wno-missing-braces endif endif +# Old versions of clang complain about initializaing a +# struct-within-a-struct using just "{0}" rather than "{{0}}". This +# error is considered a false-positive and not worth fixing, because +# new clang versions do not, so just disable it. +# +# The "bug" was fixed in upstream clang 9. +# +# Complicating this is that versions of clang released by Apple have +# their own version numbers (associated with the corresponding version +# of XCode) unrelated to the official clang version numbers. +# +# The bug was fixed in Apple clang 12. +# +ifneq ($(filter clang1,$(COMPILER_FEATURES)),) # if we are using clang +ifeq ($(uname_S),Darwin) # if we are on darwin +ifeq ($(filter clang12,$(COMPILER_FEATURES)),) # if version < 12 +DEVELOPER_CFLAGS += -Wno-missing-braces +endif +else # not darwin +ifeq ($(filter clang9,$(COMPILER_FEATURES)),) # if version < 9 +DEVELOPER_CFLAGS += -Wno-missing-braces +endif +endif +endif + # https://bugzilla.redhat.com/show_bug.cgi?id=2075786 ifneq ($(filter gcc12,$(COMPILER_FEATURES)),) DEVELOPER_CFLAGS += -Wno-error=stringop-overread |