diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-12-10 14:35:12 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-10 14:35:12 -0800 |
commit | 8bb6fe853f6910526ed761938343cca79648a0b4 (patch) | |
tree | 7a9099eba3494b2c1187f493f13bdbd881182831 | |
parent | Merge branch 'jk/fetch-pack-avoid-sigpipe-to-index-pack' (diff) | |
parent | refs: work around gcc-11 warning with REF_HAVE_NEW (diff) | |
download | tgif-8bb6fe853f6910526ed761938343cca79648a0b4.tar.xz |
Merge branch 'jk/refs-g11-workaround'
Workaround for a false-alarm by gcc-11
* jk/refs-g11-workaround:
refs: work around gcc-11 warning with REF_HAVE_NEW
-rw-r--r-- | refs.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1094,6 +1094,13 @@ int ref_transaction_update(struct ref_transaction *transaction, if (flags & ~REF_TRANSACTION_UPDATE_ALLOWED_FLAGS) BUG("illegal flags 0x%x passed to ref_transaction_update()", flags); + /* + * Clear flags outside the allowed set; this should be a noop because + * of the BUG() check above, but it works around a -Wnonnull warning + * with some versions of "gcc -O3". + */ + flags &= REF_TRANSACTION_UPDATE_ALLOWED_FLAGS; + flags |= (new_oid ? REF_HAVE_NEW : 0) | (old_oid ? REF_HAVE_OLD : 0); ref_transaction_add_update(transaction, refname, flags, |