Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: ff3529a43e792c916e55d2ee6b977573aee9c00c https://github.com/Perl/perl5/commit/ff3529a43e792c916e55d2ee6b977573aee9c00c Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023)
Changed paths: M cpan/Digest-MD5/MD5.xs M cpan/Time-Piece/Piece.xs M dist/Time-HiRes/HiRes.xs Log Message: ----------- cpan/various.xs: don't force "C" linkage on system headers This produced errors with MSVC C++ builds like: C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\wspiapi.h(53): error C2894: templates cannot be declared to have 'C' linkage Commit: 3b4552b77e29564b9382697cb97bd1ca3486d331 https://github.com/Perl/perl5/commit/3b4552b77e29564b9382697cb97bd1ca3486d331 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M ext/DynaLoader/dl_win32.xs Log Message: ----------- dl_win32.xs: can't assign literal to "char *" This generated code like: char * filename; if (items < 3) filename = "DynaLoader"; else { filename = (char *)SvPV_nolen(ST(2)) which failed in C++ builds (and isn't valid in C either), when assigning a "const char *" (well, "const char [11]") to "char *". Commit: 25dc7302999be3098a1c2ddd2d375a25a64da2a3 https://github.com/Perl/perl5/commit/25dc7302999be3098a1c2ddd2d375a25a64da2a3 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M locale.c M sv.c Log Message: ----------- locale.c, sv.c: compound literals are C99, but not C++ C++ has a similar feature, but it has a different syntax, both as of C++20 do support designated struct initializers. Commit: 9f5462b0c86849feb697551750f3bc517f268c29 https://github.com/Perl/perl5/commit/9f5462b0c86849feb697551750f3bc517f268c29 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M mg.c Log Message: ----------- mg.c: the case statements allowed jumping past the initialization of extended_errno which C++ forbids. Commit: 8c2652c1d9709e58ccf726121d1d7bb04c96b354 https://github.com/Perl/perl5/commit/8c2652c1d9709e58ccf726121d1d7bb04c96b354 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M win32/win32.c M win32/win32sck.c Log Message: ----------- win32.c/win32sck.c: fix const correctness C++ builds threw an error on these. Commit: 50e089a0f386e4941054683b95cd4ea6d33933bd https://github.com/Perl/perl5/commit/50e089a0f386e4941054683b95cd4ea6d33933bd Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M win32/perllib.c Log Message: ----------- perllib.c: const correctness 21060 also has this fix Commit: 2adc7100becefff7975c486ef2b0cd2c72467571 https://github.com/Perl/perl5/commit/2adc7100becefff7975c486ef2b0cd2c72467571 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M win32/GNUmakefile M win32/Makefile Log Message: ----------- win32/Makefile: we need C++20 for designated struct initialization Unfortunately this means older versions of MSVC that don't have C++20 support can no longer build perl as C++. Commit: 91eb43902acc7db75066188ff13e204d5c39b7e6 https://github.com/Perl/perl5/commit/91eb43902acc7db75066188ff13e204d5c39b7e6 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M embed.fnc M proto.h Log Message: ----------- embed.fnc: make sure the 'extern "C"' Perl_ref() is visible to the definition This caused the link stage to fail with a C++ build, as the type annotated C++ name was used for the definition rather than the extern "C" name. Commit: 97a167a906a5833848db1360c2cfa0e6cbe8f556 https://github.com/Perl/perl5/commit/97a167a906a5833848db1360c2cfa0e6cbe8f556 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M win32/GNUmakefile M win32/Makefile Log Message: ----------- win32/makefiles: only add -std:c++20 for USE_CPLUSPLUS and note that only 2019 or later can build as C++, since the use of designated initialisers means we need at least C++20 and only 2019 and 2022 support that. "cl /?" for 2019 doesn't list "-std:c++20" as an option at least of 19.29.30148, but it does accept it. Commit: 492d6b6e6b407a820fc1a7d7ff2803440c2030bc https://github.com/Perl/perl5/commit/492d6b6e6b407a820fc1a7d7ff2803440c2030bc Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M cpan/Compress-Raw-Bzip2/bzip2-src/compress.c M cpan/Compress-Raw-Zlib/zlib-src/deflate.c M cpan/Compress-Raw-Zlib/zlib-src/trees.c M cpan/Digest-MD5/t/files.t M cpan/MIME-Base64/Base64.xs Log Message: ----------- C++ compatibility: eliminate "register" storage class usage clang-16 rejects this, MSVC warns about it. Part of fixing #21073 Commit: 7151e1628e814269cd79afe0fd5cc53625964b44 https://github.com/Perl/perl5/commit/7151e1628e814269cd79afe0fd5cc53625964b44 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm Log Message: ----------- C++ builds: avoid generating C<< extern "C" extern "C" >> clang++ complains about this. The replacement prevents the warning and should be back-compatible. Commit: 3990d0d254210581372dc9650808daa39566b3e8 https://github.com/Perl/perl5/commit/3990d0d254210581372dc9650808daa39566b3e8 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M dist/Time-HiRes/Changes M dist/Time-HiRes/HiRes.pm M ext/DynaLoader/DynaLoader_pm.PL Log Message: ----------- bump $DynaLoader::VERSION and $Time::HiRes::VERSION for the C++ compatibility changes. I also need to bump some cpan/ but we don't own those, so I'll do it separately. Commit: 1f6d16e1d503e4c06aaf2e00eb4ed36550693ebc https://github.com/Perl/perl5/commit/1f6d16e1d503e4c06aaf2e00eb4ed36550693ebc Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Porting/Maintainers.pl M cpan/Time-Piece/Piece.pm M t/porting/customized.dat Log Message: ----------- bump $Time::Piece::VERSION to a dev release since we don't own it, and mark it as customized Commit: 638f63b6fd0ae95031ee181cb42b21277539b5f5 https://github.com/Perl/perl5/commit/638f63b6fd0ae95031ee181cb42b21277539b5f5 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Porting/Maintainers.pl M cpan/Digest-MD5/MD5.pm M t/porting/customized.dat Log Message: ----------- bump $Digest::MD5::VERSION to a dev release since we don't own it, and mark the customized files. Commit: 4dc2cf45feb548059d2b42b85df91b054a459425 https://github.com/Perl/perl5/commit/4dc2cf45feb548059d2b42b85df91b054a459425 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Porting/Maintainers.pl M cpan/MIME-Base64/lib/MIME/Base64.pm M cpan/MIME-Base64/lib/MIME/QuotedPrint.pm M t/porting/customized.dat Log Message: ----------- bump $MIME::Base64::VERSION to a dev release since we don't own it, and mark the modified files customized Commit: 38a058e3d381a450cadd5736ce19c260ff79d1d3 https://github.com/Perl/perl5/commit/38a058e3d381a450cadd5736ce19c260ff79d1d3 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Porting/Maintainers.pl M cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm M t/porting/customized.dat Log Message: ----------- bump $Compress::Raw::Bzip2::VERSION to a dev release since we don't own it, and mark the modified files as customized Commit: fbcc226a2af13a8eb7505b7607f2cd5be60ee182 https://github.com/Perl/perl5/commit/fbcc226a2af13a8eb7505b7607f2cd5be60ee182 Author: Tony Cook <t...@develop-help.com> Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Porting/Maintainers.pl M cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm M t/porting/customized.dat Log Message: ----------- bump $Compress::Raw::Zlib::VERSION to a dev release since we don't own it, and mark the modified files as customized Compare: https://github.com/Perl/perl5/compare/6a541b132cde...fbcc226a2af1