[Bug 271353] multimedia/smpeg: fix build with clang 16
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 10 May 2023 19:07:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271353 Bug ID: 271353 Summary: multimedia/smpeg: fix build with clang 16 Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: acm@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(acm@FreeBSD.org) Assignee: acm@FreeBSD.org Since clang 16 (and gcc 11) the default C++ standard is now gnu++17. Because multimedia/smpeg's configure scripts and Makefiles do not explicitly set the C++ standard, this leads to several errors: In file included from MPEGaudio.cpp:24: ../MPEGaudio.h:129:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1; ^~~~~~~~~ ../MPEGaudio.h:135:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register unsigned short a; ^~~~~~~~~ MPEGaudio.cpp:317:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register int r=(_buffer[bitindex>>3]>>(7-(bitindex&7)))&1; ^~~~~~~~~ MPEGaudio.cpp:326:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register unsigned short a; ^~~~~~~~~ MPEGaudio.cpp:339:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register unsigned short a; ^~~~~~~~~ Because smpeg uses a rather strange configure script, it does not process CXXFLAGS correctly, so set CXX to include -std=gnu++98. Also remove the REAL_CC patch which is no longer necessary. -- You are receiving this mail because: You are the assignee for the bug.