On Tue, Nov 24, 2020 at 11:24 PM Finn Thain fthain@telegraphics.com.au wrote:
These statements are not "missing" unless you presume that code written before the latest de facto language spec was written should somehow be held to that spec.
There is no "language spec" the kernel adheres to. Even if it did, kernel code is not frozen. If an improvement is found, it should be applied.
If the 'fallthrough' statement is not part of the latest draft spec then we should ask why not before we embrace it. Being that the kernel still prefers -std=gnu89 you might want to consider what has prevented -std=gnu99 or -std=gnu2x etc.
The C standard has nothing to do with this. We use compiler extensions of several kinds, for many years. Even discounting those extensions, the kernel is not even conforming to C due to e.g. strict aliasing. I am not sure what you are trying to argue here.
But, since you insist: yes, the `fallthrough` attribute is in the current C2x draft.
Cheers, Miguel