Re: C89 vs. C99
| From: | Kalle Sommer Nielsen | Date: | Sat, 12 Nov 2016 11:10:13 +0000 |
| Subject: | Re: C89 vs. C99 | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-96842@lists.php.net to get a copy of this message | ||
2016-11-12 11:57 GMT+01:00 Nikita Popov <nikita.ppv@gmail.com>:
> It's time to bring this up again. I recently noticed that nowadays only
> Kalle fixes Windows build issues due to C99 declarations-after-code, while
> Anatol doesn't. Am I correct in the assumption that Anatol is using an MSVC
> version that supports the necessary subset of C99, while Kalle uses an
> older version that doesn't support this yet? If so, is it viable for us to
> drop support for these older MSVC versions for master? I'd really like to
> be able to use certain C99 functionality (okay, I'm only really interested
> in declarations mixed with code).
I use VC11, which is the compiler used for 5.6 builds, technically its
on our list to drop support for in 7.2+ I think was the plan, while
Anatol uses VC14+ mainly, which is the compiler used for 7.0+ builds.
So technically I shouldn't really be using VC11 for 7.0+, but on my
current small setup, I have only configured VC11, but I plan on fully
upgrading to VC14 only soon, as 5.6 does not have much active
development that cannot be done on VC14.
According to Wikipedia:
Visual C++ 2012 and earlier did not support C99.
Visual C++ 2013 implements a limited subset of C99 required to compile
popular open-source projects.
Visual C++ 2015 implements the C99 standard library, with the
exception of any library features that depend on compiler features not
yet supported by the compiler (for example, <tgmath.h> is not
implemented).
And ofcourse the version mapping:
VC11 - Visual C++ 2012
VC12 - Visual C++ 2013
VC14 - Visual C++ 2015
So as long as future developments are compatible with VC14, its fine with me
--
regards,
Kalle Sommer Nielsen
kalle@php.net