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
next prev 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