[Bug 271353] multimedia/smpeg: fix build with clang 16

From: <bugzilla-noreply_at_freebsd.org>
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.