> 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.


Reply via email to