diff options
| author | Junio C Hamano <gitster@pobox.com> | 2022-10-19 15:38:06 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-10-19 15:38:06 -0700 |
| commit | 617e9991d4434c4cc077583ed9426782cf3b2f43 (patch) | |
| tree | 9edceb48476819f40cd5849c0d88c80a21ef0b6a | |
| parent | Merge branch 'rs/archive-dedup-printf' (diff) | |
| parent | config.mak.dev: disable suggest braces error on old clang versions (diff) | |
| download | git-617e9991d4434c4cc077583ed9426782cf3b2f43.tar.gz git-617e9991d4434c4cc077583ed9426782cf3b2f43.zip | |
Merge branch 'jh/struct-zero-init-with-older-clang'
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 |
