Re: git: 9d87c1aac4a8 - main - libc: Add missing kill_dependency macro

From: Tijl Coosemans <tijl_at_FreeBSD.org>
Date: Sun, 21 Jun 2026 21:48:12 UTC
On Sun, 21 Jun 2026 13:13:50 +0300 Konstantin Belousov wrote:
> On Sat, Jun 20, 2026 at 11:50:50PM +0330, Faraz Vahedi wrote:
>> Hey,
>> 
>> I see. I dug further into related proposals and the reasons why no
>> compiler today has implemented true data dependency tracking
>> and that they all basically map and promote consume to acquire.
>> The kill_dependency is also basically a no-op, and both compilers
>> optimise them identically. I did a few tests on my AArch64 box and
>> that's how I'm convinced, so I believe keeping the current form
>> could be ideal as it fully conforms to the standard and we're assured
>> that at least any conforming compiler would support it just fine and
>> there's no extension or non-standard tweak in it. On the other hand,
>> although adding a separate branch with the GCC style is possible, I
>> don't think that'd add any value but visual complications.
>> 
>> Either way, whether dependency tracking changes drastically or this
>> very approach becomes obsolete, keeping our header as-is seems
>> safe for now.  
> I am fine with it then.  My concern was in subtle breakage of the
> code compiled with gcc.

I think the GCC definition just enforces that Y and kill_dependency(Y)
are expressions so things like the following produce an error.

if
	kill_dependency(foo);