Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 55dcda00e1126415a2ca4356273f0bfe15af8f87 https://github.com/Perl/perl5/commit/55dcda00e1126415a2ca4356273f0bfe15af8f87 Author: Tony Cook <t...@develop-help.com> Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths: M embed.fnc M perl.c M proto.h Log Message: ----------- remove C++20 deprecated volatile argument This produced warnings like: g++ -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing \ -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ -xc++ -I/usr/lib/llvm-18/include -std=c++17 -fno-exceptions \ -funwind-tables -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS \ -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fexceptions \ -I/usr/lib/x86_64-linux-gnu/perl5/5.36/Imager/include -std=c++23 \ -O2 -g -DVERSION=\"1.000\" -DXS_VERSION=\"1.000\" -fPIC \ "-I/usr/lib/x86_64-linux-gnu/perl/5.36/CORE" LLVM.c In file included from /usr/lib/x86_64-linux-gnu/perl/5.36/CORE/perl.h:5798, from LLVM.xs:15: /usr/lib/x86_64-linux-gnu/perl/5.36/CORE/proto.h:392:65: warning: ‘volatile’-qualified parameter is deprecated [-Wvolatile] 392 | PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, volatile I32 flags); | ~~~~~~~~~~~~~^~~~~ I haven't been able to produce this when building perl itself as C++ since it requires a modern -std argument to reproduce, and that breaks the build in other ways. It is reproducible when building a C++ XS module with gcc and -std=c++20 or later. In a strict standard sense flags does not need to be volatile since flags is not modified between setjmp() and longjmp(), but due to a bug in gcc, gcc complains flags could be clobbered. GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=21161