public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks•im>
To: Jeff King <peff@peff•net>
Cc: Sam James <sam@gentoo•org>,
	"brian m. carlson" <sandals@crustytoothpaste•net>,
	git@vger•kernel.org
Subject: Re: -Wunterminated-string-initialization warning with GCC 15 in object-file.c
Date: Mon, 18 Nov 2024 08:40:41 +0100	[thread overview]
Message-ID: <ZzrvecZnS-b0M-1p@pks.im> (raw)
In-Reply-To: <20241117090329.GA2341486@coredump.intra.peff.net>

On Sun, Nov 17, 2024 at 04:03:29AM -0500, Jeff King wrote:
> On Sun, Nov 17, 2024 at 02:50:39AM +0000, Sam James wrote:
> 
> > With upcoming GCC 15, a new warning is added
> > (-Wunterminated-string-initialization) that fires when building git:
> > ```
> >     CC object-file.o
> > object-file.c:52:9: warning: initializer-string for array of ‘unsigned char’ is too long [-Wunterminated-string-initialization]
> >    52 |         "\x6e\xf1\x9b\x41\x22\x5c\x53\x69\xf1\xc1" \
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > object-file.c:79:17: note: in expansion of macro ‘EMPTY_TREE_SHA256_BIN_LITERAL’
> >    79 |         .hash = EMPTY_TREE_SHA256_BIN_LITERAL,
> >       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > object-file.c:61:9: warning: initializer-string for array of ‘unsigned char’ is too long [-Wunterminated-string-initialization]
> >    61 |         "\x47\x3a\x0f\x4c\x3b\xe8\xa9\x36\x81\xa2" \
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > object-file.c:83:17: note: in expansion of macro ‘EMPTY_BLOB_SHA256_BIN_LITERAL’
> >    83 |         .hash = EMPTY_BLOB_SHA256_BIN_LITERAL,
> >       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ```
> > 
> > Context for the new warning is at https://gcc.gnu.org/PR115185.
> 
> I think the warning is a false positive for us, but I don't begrudge
> them for adding it. It could definitely catch real problems.
> 
> Here are some patches. The first one should fix the warning (but I don't
> have gcc-15 handy to test!). Please let me know if it works for you (and
> thank you for reporting).
> 
> The others are cleanups and future-proofing I found in the same area.
> Not strictly required, but IMHO worth doing.
> 
> +cc brian since I think this is a continuation of some hash-algo
> cleanups he did earlier, plus he piped up in the other gcc-15 thread. ;)

I've got two comments, but other than that this looks like a nice
cleanup to me. Thanks!

Patrick

  parent reply	other threads:[~2024-11-18  7:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-17  2:50 -Wunterminated-string-initialization warning with GCC 15 in object-file.c Sam James
2024-11-17  9:03 ` Jeff King
2024-11-17  9:08   ` [PATCH 1/5] object-file: prefer array-of-bytes initializer for hash literals Jeff King
2024-11-17  9:52     ` René Scharfe
2024-11-18  9:06       ` Jeff King
2024-11-17  9:08   ` [PATCH 2/5] object-file: drop confusing oid initializer of empty_tree struct Jeff King
2024-11-17  9:08   ` [PATCH 3/5] object-file: move empty_tree struct into find_cached_object() Jeff King
2024-11-18  7:40     ` Patrick Steinhardt
2024-11-18  9:17       ` Jeff King
2024-11-17  9:10   ` [PATCH 4/5] object-file: drop oid field from find_cached_object() return value Jeff King
2024-11-17  9:14   ` [PATCH 5/5] object-file: inline empty tree and blob literals Jeff King
2024-11-18  7:40     ` Patrick Steinhardt
2024-11-17 16:03   ` -Wunterminated-string-initialization warning with GCC 15 in object-file.c brian m. carlson
2024-11-18  9:19     ` Jeff King
2024-11-18  9:58       ` Sam James
2024-11-18  7:40   ` Patrick Steinhardt [this message]
2024-11-18  9:54   ` [PATCH 0/6] -Wunterminated-string-initialization warning + cleanups Jeff King
2024-11-18  9:54     ` [PATCH 1/6] object-file: prefer array-of-bytes initializer for hash literals Jeff King
2024-11-18  9:55     ` [PATCH 2/6] object-file: drop confusing oid initializer of empty_tree struct Jeff King
2024-11-18  9:55     ` [PATCH 3/6] object-file: move empty_tree struct into find_cached_object() Jeff King
2024-11-18  9:55     ` [PATCH 4/6] object-file: drop oid field from find_cached_object() return value Jeff King
2024-11-18  9:55     ` [PATCH 5/6] object-file: treat cached_object values as const Jeff King
2024-11-18  9:55     ` [PATCH 6/6] object-file: inline empty tree and blob literals Jeff King
2024-11-18 10:51     ` [PATCH 0/6] -Wunterminated-string-initialization warning + cleanups Patrick Steinhardt
2024-11-18 12:49       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZzrvecZnS-b0M-1p@pks.im \
    --to=ps@pks$(echo .)im \
    --cc=git@vger$(echo .)kernel.org \
    --cc=peff@peff$(echo .)net \
    --cc=sam@gentoo$(echo .)org \
    --cc=sandals@crustytoothpaste$(echo .)net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox