On Wed, Nov 25, 2020 at 12:53 AM Finn Thain fthain@telegraphics.com.au wrote:
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.)
Making the kernel strictly conforming is a ship that sailed long ago, for several reasons. Anyway, supporting several compilers and other tools, regardless of extensions, is valuable.
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.
No, we aren't particularly tied to `gnu89` or anything like that. We could actually go for `gnu11` already, since the minimum GCC and Clang support it. Even if a bit of code needs fixing, that shouldn't be a problem if someone puts the work.
In other words, the kernel code is not frozen, nor are the features it uses from compilers. They do, in fact, change from time to time.
Thank you for checking. I found a free version that's only 6 weeks old:
You're welcome! There are quite a few new attributes coming, mostly following C++ ones.
It will be interesting to see whether 6.7.11.5 changes once the various implementations reach agreement.
Not sure what you mean. The standard does not evolve through implementations' agreement (although standardizing existing practice is one of the best arguments to back a change).
Cheers, Miguel