On Mon, Feb 08, 2021 at 05:30:25PM +0300, Alexey Dobriyan wrote: > On Mon, Feb 08, 2021 at 11:34:18AM +0100, Peter Zijlstra wrote: > > On Sat, Feb 06, 2021 at 06:18:32PM +0300, Alexey Dobriyan wrote: > > > > > Silently delete "extern" from prototypes. > > > > NAK, extern is right. > > Extern is only necessary for variables.
Specifically C17, 6.2.2 p5 (linkage of identifiers): if the declaration of an identifier for a function has no storage-class specifier, its linkage is determined exactly as if it were declared with the storage-class specifier "extern". This is why nothing happens if "extern" is deleted.