On Wed, 31 Jul 2024 at 08:57, David Laight <David.Laight@xxxxxxxxxx> wrote: > > Perhaps something like: > #define do_foo(x, uniq) ({ \ > __auto_type _x_##uniq = z; \ I like it. Not quite enough to do it now, though. But I did commit my min3/max3 patch, because when I looked at it a bit more, I realized that the old min3/max3 implementation was actually completely and fundamentally broken, and has been for a decade since it was rewritten in 2014. I don't think anybody has actually hit the bug in practice (it will cast away significant bits if you use it with just the right types), but when I looked at it again I was like "Really? We've had that horror for a decade?" Linus