Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 0c7be120244c1a6aae9b1ae30124265bcb8184da https://github.com/Perl/perl5/commit/0c7be120244c1a6aae9b1ae30124265bcb8184da Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021)
Changed paths: M Configure M Cross/cflags-cross-arm M cflags.SH Log Message: ----------- Teach Configure and cflags.SH about C99 Probe to see whether we need -std=gnu99 or -std=c99 to get C99 code to compile. In cflags.SH, remove code that added gcc warning flags that were compatible with C89 but are not compatible with C99. Commit: d34aca5e9e57e3f0b5d25d451759237b40647664 https://github.com/Perl/perl5/commit/d34aca5e9e57e3f0b5d25d451759237b40647664 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M Configure Log Message: ----------- Test declarations after statement in Configure's C99 probe code Also ensure that the relevant failure error message is output even with Configure's -s flag, as we shouldn't stay silent for a message that causes Configure default to aborting. With these changes, Configure will fail the C99 probe test if passed -Accflags="-Werror=declaration-after-statement" or -Accflags="-Werror=long-long" Commit: 694de2a9ab0f7acd2d3418a2031a022e0fd70ba7 https://github.com/Perl/perl5/commit/694de2a9ab0f7acd2d3418a2031a022e0fd70ba7 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M cflags.SH Log Message: ----------- cflags.sh should not add -std=c99 if -std=gnu99 is already set Having both looks like it ought to cause the build to fail, as with -std=c99 second it will override any previous -std=gnu99, and some platforms need the former to both compile C99 code and have correct includes during Configure probing. However testing on those platforms without this change doesn't show any errors. So this change doesn't seem to strictly be necessary. But it does prevent our generated compiler command lines having contradictory flags, and hence looking daft. Commit: a66ca9982aad27a40050c19682786e25346fd8c4 https://github.com/Perl/perl5/commit/a66ca9982aad27a40050c19682786e25346fd8c4 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M INSTALL M pod/perlhacktips.pod M t/porting/known_pod_issues.dat Log Message: ----------- Update perlhack with details of the C99 features we can now use Also update INSTALL to mention C99. Commit: 135ed90333defee1f5341979cabe475c9d418d74 https://github.com/Perl/perl5/commit/135ed90333defee1f5341979cabe475c9d418d74 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M pod/perlhacktips.pod Log Message: ----------- Note how best to confirm that other C99 features can be relied upon If C99 functionality can't be emulated on platforms which don't provide it, then one really needs to test whether MSVC and the VMS compiler support it. Commit: 4695dc7a419b3069e06d2051ff1a6c9daca6c881 https://github.com/Perl/perl5/commit/4695dc7a419b3069e06d2051ff1a6c9daca6c881 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M README.win32 Log Message: ----------- Update README.win32 to the new C99/MSVC 12.0 requirements * Remove specific notes related to Microsoft Visual C++ 2005 Express Edition and earlier * Visual Studio 2013 is the only version that still has Express edition (in addition to Community), so simplify the text by only mentioning Community * Remove the reference to IA64, and mention x86_64 along with x86 * In the context of x86_64, clarify that mingw's binaries can run on both * Update the URL for mingw Commit: 632ce96a35d784df9e43bc8ad87b4e8f1f24a590 https://github.com/Perl/perl5/commit/632ce96a35d784df9e43bc8ad87b4e8f1f24a590 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M inline.h Log Message: ----------- Introduce a "declaration after statement" into inline.h The core now permits some C99 code, so extensions need to ensure that any C compiler flags they add or change permit C99 code. This code is inlined by XS extensions in the core and on CPAN. The intent is that this commit should show up for any failure bisection, making it obvious what the cause is, and what the fix needs to be. Commit: 8db245dbe48e58e740f3138b49ea051b36e47b08 https://github.com/Perl/perl5/commit/8db245dbe48e58e740f3138b49ea051b36e47b08 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M dist/Devel-PPPort/Makefile.PL Log Message: ----------- Devel::PPPort shouldn't unconditionally -Wdeclaration-after-statement Add the flag for gcc for perl v5.34.4 and earlier. Commit: 4214a5f7a04127ac82392db8df150746acd2355a https://github.com/Perl/perl5/commit/4214a5f7a04127ac82392db8df150746acd2355a Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta for C99 support Commit: c44af6e357f211a32d6942d405451f8003ff808c https://github.com/Perl/perl5/commit/c44af6e357f211a32d6942d405451f8003ff808c Author: Nicholas Clark <n...@ccl4.org> Date: 2021-10-13 (Wed, 13 Oct 2021) Changed paths: M INSTALL Log Message: ----------- Add a section to INSTALL describing that we now rely on some C99 And the implications for XS authors writing code to work on both current and earlier perl installations. Compare: https://github.com/Perl/perl5/compare/1a4dad1b219e...c44af6e357f2