
On 2/8/2022 9:52 AM, Petr Viktorin wrote:
On 07. 02. 22 18:09, Victor Stinner wrote:
In 2022, C99 is now well supported by C compilers supported by Python: GCC, clang, MSVC.
Does MSVC support all of C99? I haven't found any documentation claiming that... but I'm also not familiar with MSVC.
Do we need to support a subset like "C99 except the features that were removed in C11"?
I couldn't find any information either (from public sources, at least, haven't asked the team directly yet). All the C99 library is supposedly supported, but there are (big?) gaps in the compiler support. Possibly these are features that were removed in C11? I don't know what is on that list. It seems C11 and C17 are supported [1], though I know for sure we have contributors who aren't using a recent enough compiler version to have it :) Personally, I see no reason to "require" C99 as a whole. We have a style guide already, and can list the additional compiler features that we allow along with guidance on updating existing code and ensuring compatibility. I don't see much risk requiring the C99 standard library, though. It's the compiler features that seem to have less coverage. Cheers, Steve [1]: https://devblogs.microsoft.com/cppblog/c11-and-c17-standard-support-arriving...