On 2021-01-28 19:20, Terry Reedy wrote:
On 1/28/2021 11:26 AM, Mark Shannon wrote:
PEP 7 says that C code should conform to C89 with a subset of C99 allowed.
As I remember, when the Python C dialect was discussed about 4 years ago, no one seriously proposed moving beyond a subset of C99 addition, because of the state of MSVC.
It's 2021 and all the major compilers support C11 (ignoring the optional parts).
C11 has support for thread locals, static asserts, and anonymous structs and unions. All useful features.
Is there a good reason not to start using C11 now?
Inertia is *a* reason. C11 would require (and allow!) most (nearly all?) people compiling CPython on Windows to upgrade their VS-VC setup. Maybe including some buildbot machines.
Judging from the post for https://bugs.python.org/issue42380 this requires VS 16.8 with MSVC 14.28, released last November. Prior distributions of VS 2019 had earlier versions. Last I knew, regular people without a dev license cannot get just MSVC. So we cannot require a compiler most people cannot get. This post otherwise gives additional reasons why upgrading would be good.
I have Microsoft Visual Studio Community 2019 Version 16.8.4 (it's free) and it supports C11 and C17.