On 11/12/2016 06:10 AM, Kalle Sommer Nielsen wrote:
2016-11-12 11:57 GMT+01:00 Nikita Popov <nikita....@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?
><snip>
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).
I will run a build test on a Solaris 10 server with Oracle Studio 12.4
as well as 12.5 using the very strict c99 compiler with option -Xc and
define -D_XOPEN_SOURCE 600. This will enforce compliance rules as well
as feature test macros for The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition. Where we get into deep trouble is the
use of extensions which may be purely gnuisms or gccisms. These all
become very evident once a strict compiler set of options are used. I
will get it a run through and see what I see.
Dennis Clarke
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php