Re: [PATCH 0/1] Add a test balloon for C99
From: Junio C Hamano <hidden>
Date: 2021-11-16 19:02:27
"brian m. carlson" [off-list ref] writes:
On 2021-11-15 at 07:00:25, Junio C Hamano wrote:quoted
"brian m. carlson" [off-list ref] writes:quoted
Even for users who would like to target an older version of Windows, such as the no longer supported Windows 7, GCC and Clang are available. The LLVM suite, including Clang, is available pre-compiled for download free of charge. Using a different compiler is specifically proposed by Microsoft staff[1] as a solution for users who wish to build modern programs for MSVC versions which do not support modern C. As such, we can assume that Git can be safely compiled with C99 or C11 support on all operating systems which receive security support, and even some which do not. Our CI confirms that this series passes all tests. Let's introduce a test balloon which checks for this support and fails with an error message if it is absent.I do not have much against adopting nicer C99 language features in principle, but I hope that we are not becoming too Linux centric with "other than Linux, as long as Windows is OK in some form, everything is peachy" mentality.It's definitely not my goal to exclude Windows here. I'm pretty sure every major Unix platform will handle this fine, and an up to date MSVC will also handle this fine. Because compiling Git for Windows is a lot of work (not due to any failing of that project or its members, just the fact that it requires a lot of components to be assembled, including a full POSIX environment), it's not very likely we're going to see a lot of people doing it, since almost all Windows users are going to be using the regular releases. It's also likely that they're going to be using some automated CI system which will likely support a recent version of the compiler. However, we have in the past heard screaming from people who want to support old versions of Windows, so my point here is that there are options if they can't use MSVC for any reason and those options are easy, accessible, and free of charge. I should point out that we already require people on non-Linux Unix systems to install GNU make and possibly also a shell (if theirs doesn't support the local keyword), so installing suitable tooling to build Git isn't without precedent.
Windows does not need me to worry about them---they can fend for themselves. I cannot tell if the original discussion behind the patch considered the current situation in non-mac BSD land (which I am not familiar with), or even less common platforms like NonStop.