From: Junio C Hamano Date: Sun, 20 Sep 2020 01:00:47 GMT Subject: Re: [PATCH 06/13] reftable: (de)serialization for the polymorphic record type. Message-ID: In-Reply-To: <791f69c000556e93bf5fcfc0ec9304833b12565b.1600283416.git.gitgitgadget@gmail.com> "Han-Wen Nienhuys via GitGitGadget" writes: > +static void reftable_log_record_key(const void *r, struct strbuf *dest) > +{ > + const struct reftable_log_record *rec = > + (const struct reftable_log_record *)r; > + int len = strlen(rec->refname); > + uint8_t i64[8]; > + uint64_t ts = 0; > + strbuf_reset(dest); > + strbuf_add(dest, (uint8_t *)rec->refname, len + 1); > + > + ts = (~ts) - rec->update_index; > + put_be64(&i64[0], ts); > + strbuf_add(dest, i64, sizeof(i64)); > +} We seem to be getting reftable/record.c: In function 'reftable_log_record_key': reftable/record.c:578:2: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] put_be64(&i64[0], ts); ^ CC reftable/refname.o when this series is merged to 'seen'. cf. e.g. https://travis-ci.org/github/git/git/jobs/728655368 Thanks.