Thread (13 messages) 13 messages, 4 authors, 2022-12-07

Re: [PATCH] git-compat-util.h: introduce CALLOC(x)

From: Taylor Blau <hidden>
Date: 2022-12-07 02:29:22

On Mon, Dec 05, 2022 at 08:43:50PM -0500, Jeff King wrote:
On Mon, Dec 05, 2022 at 05:36:25PM -0500, Taylor Blau wrote:
quoted
On Mon, Dec 05, 2022 at 10:01:11PM +0100, René Scharfe wrote:
quoted
This rule would turn this code:

	struct foo *bar = xcalloc(1, sizeof(*bar));
	int i;

... into:

	struct foo *bar;
	CALLOC(bar);
	int i;

... which violates the coding guideline to not mix declarations and
statements (-Wdeclaration-after-statement).
Yeah, I was wondering about this myself when I wrote this part of the
Coccinelle patch.

Is there an intelligent way to tell it to put the first statement after
all declarations? I couldn't find anything after a quick scan of the
documentation nor our own patches.
It feels like generating the code as above is not the end of the world.
The most valuable thing that coccinelle is doing here is _finding_ the
location, and telling you "it's supposed to be like this". It is great
when the "this" post-image is perfect and doesn't need further tweaking.
I have to agree. If Coccinelle can generate the right output; great. But
if it can't, the amount of additional work to reorganize an already
generated and mostly correct *.patch from the tool seems minimal by
comparison.
But if the compiler then reminds you "hey, you need to go a bit further
manually", that doesn't seem so bad. In other words, I would be happy to
follow that work flow if I introduced a bare xcalloc(). My only worry is
that somebody less experienced with the project (or with C) would get
confused.
Agreed.

Thanks,
Taylor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help