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:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2583.pdf
It will be interesting to see whether 6.7.11.5 changes once the various implementations reach agreement.