Re: [PATCH 1/5] sched: make struct task_struct::state 32-bit

From: Alexey Dobriyan
Date: Mon Feb 08 2021 - 09:55:28 EST


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.