Re: C89 vs. C99
| From: | Dennis Clarke | Date: | Sat, 12 Nov 2016 19:52:26 +0000 |
| Subject: | Re: C89 vs. C99 | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-96862@lists.php.net to get a copy of this message | ||
On 11/12/2016 06:10 AM, Kalle Sommer Nielsen wrote:
2016-11-12 11:57 GMT+01:00 Nikita Popov <nikita.ppv@gmail.com>: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 ClarkeIt'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).