> On Sep 22, 2017, at 7:04 AM, Julian Foad <julianf...@apache.org> wrote: > > I know there is a problem with Microsoft not supporting C'99. C'90 > should be fine though, and some of C'99 if we want to. >
Looks like this isn't going to happen but FWIW and just for others' reference, we compile an internal C99 library and its test suite on MSVC2008 among other platforms and compilers. The purpose is to run the test suite as many different ways as possible. It compiles, runs, and all tests pass 100%. The trick is to configure all the project's C files to compile as C++ despite their .c extension. This is because the C++ standard supported by MSVC contains the features (or at least the ones that affect us) that had been "backported" from C++ to C to form C99. There is also a project-wide global header that tests for various compilers and fixes things so they work. For example we had to define a macro that becomes "inline" under some compilers and __inline under MSVC, and I believe typedef the fixed-size int types (uint32_t and friends), among other things. But the point is that with some headache it can be made to work.