[bug #68546] bytecode-interpreter: pt-bytecode-vm.cc uses methods removed in C++20
"Dmitri A. Sergatskov" <[email protected]> Wed, 22 Jul 2026 12:23:54 -0400 (EDT)
| Newsgroups | gmane.comp.gnu.octave.bugs |
|---|---|
| Message-ID | <[email protected]> |
--===============0529218965702879272==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
UGxlYXNlIHVzZSB0aGUgYnVnIHRyYWNrZXIgdG8gcG9zdCB1cGRhdGVzIHRvIGEgYnVnIHJlcG9y
dC4gIFRoZSBtYWlsaW5nIGxpc3QgaXMgaW50ZW5kZWQgYXMgYSByZWFkLW9ubHkgbm90aWZpY2F0
aW9uIHN0cmVhbS4gIEluZm8gcG9zdGVkIHRvIHRoaXMgbWFpbGluZyBsaXN0IGFkZHJlc3Mgd29u
J3QgYXBwZWFyIGluIHRoZSB0cmFja2VyIGRhdGFiYXNlIHdoZXJlIGl0IGlzIG1vc3QgdXNlZnVs
LgoK
--===============0529218965702879272==
Content-Type: MULTIPART/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; BOUNDARY="8323329-1714636915-1784737434=:2674935"
Content-Disposition: inline
--8323329-1714636915-1784737434=:2674935
Content-Type: TEXT/plain; CHARSET=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE
Content-Disposition: inline
URL:=0A <https://savannah.gnu.org/bugs/?68546>=0A=0A Summa=
ry: bytecode-interpreter: pt-bytecode-vm.cc uses methods=0Aremoved in C++20=
=0A Group: GNU Octave=0A Submitter: daserga=
tskov=0A Submitted: Wed 22 Jul 2026 04:23:50 PM UTC=0A =
Category: Interpreter=0A Severity: 3 - Normal=0A =
Priority: 5 - Normal=0A Item Group: Build Failure=
=0A Status: None=0A Assigned to: None=0A =
Originator Name:=0A Originator Email:=0A Open/Closed:=
Open=0A Discussion Lock: Unlocked=0A Release: byte=
code-evaluator=0A Operating System: Mac OS=0A Fixed Releas=
e: None=0A Planned Release: None=0A=0A=0A ______________________=
_________________________________=0A=0AFollow-up Comments:=0A=0A=0A--------=
-----------------------------------------------=0ADate: Wed 22 Jul 2026 04:=
23:50 PM UTC By: Dmitri A. Sergatskov <dasergatskov>=0ATrying to compile Oc=
tave-12 bytecode-interpreter branch on macOS:=0A=0Alibtool: compile: clang=
++ -std=3Dgnu++20 -DHAVE_CONFIG_H -I. -I..=0A-DOCTINTERP_DLL -Iliboctinterp=
-I../liboctinterp -I../liboctinterp/corefcn=0A-Iliboctinterp/corefcn/numer=
ic -I../liboctinterp/corefcn/numeric=0A-I../liboctinterp/corefcn/system -Il=
iboctinterp/corefcn/util=0A-I../liboctinterp/corefcn/util -Iliboctinterp/gr=
aphics=0A-I../liboctinterp/graphics -Iliboctinterp/interp -I../liboctinterp=
/interp=0A-I../liboctinterp/load-save -I../liboctinterp/octave-value=0A-I..=
/liboctinterp/operators -Iliboctinterp/parse-tree=0A-I../liboctinterp/parse=
-tree -I../liboctinterp/stream=0A-I../liboctinterp/template-inst -Iliboctav=
e -I../liboctave=0A-I../liboctave/array -Iliboctave/numeric -I../liboctave/=
numeric=0A-Iliboctave/operators -I../liboctave/operators -I../liboctave/sys=
tem=0A-I../liboctave/util -I../liboctave/wrappers=0A-I/opt/homebrew/Cellar/=
hdf5/2.1.1/include -I/opt/homebrew/opt/openjdk/include=0A-I/opt/homebrew/op=
t/openjdk/include/darwin=0A-I/opt/homebrew/opt/libiconv/include -I/opt/home=
brew/include=0A-I/opt/homebrew/opt/readline/include -fPIC -pthread -Wall -W=
-Wshadow=0A-Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith =
-Wwrite-strings=0A-Wcast-align -Wcast-qual -g3 -O3 -march=3Dnative -flto=3D=
thin=0A-Wno-deprecated-declarations -Wno-old-style-cast -MT=0Aliboctinterp/=
octave-value/liboctave_value_la-ov-oncleanup.lo -MD -MP -MF=0Aliboctinterp/=
octave-value/.deps/liboctave_value_la-ov-oncleanup.Tpo -c=0A../liboctinterp=
/octave-value/ov-oncleanup.cc -fno-common -DPIC -o=0Aliboctinterp/octave-v=
alue/.libs/liboctave_value_la-ov-oncleanup.o=0A../liboctinterp/parse-tree/p=
t-bytecode-vm.cc:1586:12: error: no member named=0A'unique' in 'std::shared=
_ptr<octave::stack_frame>'=0A 1586 | if (fp.unique () && m_frame_ptr_ca=
che.size () < 8 && !=0Afp->is_closure_context () =0A | ~~ ^=0A=
../liboctinterp/parse-tree/pt-bytecode-vm.cc:6630:12: error: no member name=
d=0A'unique' in 'std::shared_ptr<octave::stack_frame>'=0A 6630 | if (fp=
.unique () && m_frame_ptr_cache.size () < 8)=0A | ~~ ^=0A2 err=
ors generated.=0A=0Astd::shared_ptr::unique has been deprecated in C++17 an=
d removed in C++20.=0AApparently GNU libstdc++ keeps it as extension, but A=
pple's libc++ does not. =0AI will have a patch shortly.=0A=0ADmitri.=0A-- =
=0A=0A=0A=0A=0A=0A=0A=0A=0A ____________________________________________=
___________=0A=0AReply to this item at:=0A=0A <https://savannah.gnu.org/bu=
gs/?68546>=0A=0A_______________________________________________=0AMessage s=
ent via Savannah=0Ahttps://savannah.gnu.org/=0A
--8323329-1714636915-1784737434=:2674935
Content-Type: APPLICATION/pgp-signature; name=signature.asc
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCamDumgAKCRCqLAuaBUf3
To62AP4lyOOAQzpPJlFaYK/Yyxig5kKGAIp2GDtQjtUdWetM6AEAkWDFMKJ0soXg
1vLv0k5EZIVZgyaNQ/05b6X0UlVACgE=
=DBEn
-----END PGP SIGNATURE-----
--8323329-1714636915-1784737434=:2674935--
--===============0529218965702879272==--