Re: Thoughts on C version supported for PHP-Next
| From: | Matt Wilmas | Date: | Sun, 02 Aug 2015 16:55:20 +0000 |
| Subject: | Re: Thoughts on C version supported for PHP-Next | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-87519@lists.php.net to get a copy of this message | ||
Hi all,
----- Original Message -----
From: "Matt Wilmas"
Sent: Wednesday, July 08, 2015
Hi Kalle, ----- Original Message ----- From: "Kalle Sommer Nielsen" Sent: Wednesday, July 08, 2015Oops, nevermind! I just realized variadic macros are already being used in a few places, so all good there. :-) Now been wondering about compound literals. Not required, but hopefully they're supported most everywhere now, for *in-place* optimization of the old zend_parse_parameters(). And is the latest MSVC about the only one that doesn't support C99's variable length arrays (e.g. size set at runtime), I think? (Haven't installed it.) Well, a minor thing that can be worked around... Thanks, MattHi Matt 2015-07-08 17:00 GMT+02:00 Matt Wilmas <php_lists@realplain.com>:Right, but MSVC isn't a concern for the variadic macros thing I'm talking about (supported since 2005). [1] I'm just wondering about the subject of this old thread: have we bumped, or will we, the minimum requirements for *ALL the other compilers* PHP "supports?" e.g. requiring some or all of C99 support? That would hopefully say whether we can rely on variadic macros. :-) Thanks, Matt [1] https://en.wikipedia.org/wiki/Variadic_macroHi all, ----- Original Message ----- From: "Levi Morrison" Sent: Sunday, May 10, 2015For 7.0, we are gonna focus on MSVC 2015 (VC14), although VC11 is also known to work, we will do the 7.0+ releases with VC14 (that is releasing later this month)What's the status on compiler requirements? Are they, or will they be, higher? I'm going to take advantage of variadic macros (__VA_ARGS__) for better code generation with the parameter parsing implementation I'm finishing up, and it would be nice to not have to make two versions with a compiler check. e.g. for MSVC or GCC >= 3, but I don't know what else...Again, this is a C11 feature. It is supported by clang, gcc and MSVC.To clarify this a bit: they permit anonymous unions in C89 and C99 code (meaning you do not need to pass flags like -std=c11 to enable it).