[I reordered some of your answers, to better answer] Hi Jakub, On 6/10/22 23:16, Jakub Jelinek wrote: > On Fri, Jun 10, 2022 at 10:40:15PM +0200, Alejandro Colomar via Gcc wrote: >> So, could you please drop that from C2x? > > No! > [[attr0]] void foo (void), bar (void); > appertains to both declarations, while True, but. > void baz [[attr1]] (void), qux [[attr2]] (void); > appertains to only the specific declaration. That's true. But how many of these are spotted in the wild, non-theoretical world? In the world I live, they mean effectively (but not theoretically) the same thing :) > void corge (void) [[attr3]]; > appertains to the function type. Yes, that one is clear. > > For one it diverges from C++, but also it means something different > at the different locations. Well, I'd argue the same reasons to remove it from C++. Don't know how useful that feature is for C++, though. I bet not much, but am not an expert in the language. But, are we sure we want to add this to C? You know how difficult is to revert mistakes in C, as opposed to C++, where additions and deprecations are more common. This is basically breaking any ability to separately (textually) parse C files without the build context. Regards, Alex -- Alejandro Colomar Linux man-pages comaintainer; http://www.kernel.org/doc/man-pages/ http://www.alejandro-colomar.es/