On Wed, 25 Nov 2020, Miguel Ojeda wrote:
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.
I'm saying that supporting the official language spec makes more sense than attempting to support a multitude of divergent interpretations of the spec (i.e. gcc, clang, coverity etc.)
I'm also saying that the reason why we use -std=gnu89 is that existing code was written in that language, not in ad hoc languages comprised of collections of extensions that change with every release.
But, since you insist: yes, the `fallthrough` attribute is in the current C2x draft.
Thank you for checking. I found a free version that's only 6 weeks old:
It will be interesting to see whether 22.214.171.124 changes once the various implementations reach agreement.