HomeFreeBSD

multimedia/smpeg: fix incorrect warning suppression flag.

Description

multimedia/smpeg: fix incorrect warning suppression flag.

During an exp-run for llvm 12 (see bug 255570), it turned out that
multimedia/smpeg does not build with clang 12.0.0:

libtool: compile: c++ -DPACKAGE=\"smpeg\" -DVERSION=\"0.4.4\" -I. -I. -O2 -pipe -Wno-error-narrowing -fstack-protector-strong -fno-strict-aliasing -I/usr/local/include/SDL -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE -DTHREADED_AUDIO -DNDEBUG -I.. -DNOCONTROLS -I.. -I../audio -I../video -fno-exceptions -fno-rtti -c huffmantable.cpp -fPIC -DPIC -o .libs/huffmantable.o
warning: unknown -Werror warning specifier: '-Wno-error-narrowing' [-Wunknown-warning-option]
In file included from huffmantable.cpp:12:
../MPEGaudio.h:129:7: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]

register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
^~~~~~~~~

../MPEGaudio.h:135:7: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]

register unsigned short a;
^~~~~~~~~

huffmantable.cpp:553:8: error: constant expression evaluates to -1 which cannot be narrowed to type 'unsigned int' [-Wc++11-narrowing]

{ 0, 0-1, 0-1, 0,  0, htd33},
     ^~~

huffmantable.cpp:553:8: note: insert an explicit cast to silence this issue

{ 0, 0-1, 0-1, 0,  0, htd33},
     ^~~

[... more of these ...]

The Makefile attempts to suppress these warnings by adding
-Wno-error-narrowing to CFLAGS, in case clang is used, but this warning
suppression flag does not exist. It is called -Wno-c++11-narrowing
instead, and the attached patch renames the flag.

Approved by: maintainer timeout (2 weeks)
PR: 255796
MFH: 2021Q2

Details

Provenance
dimAuthored on May 11 2021, 11:37 AM
Parents
R11:0d624f061d01: sysutils/py-azure-cli: Update to 2.24.0
Branches
Unknown
Tags
Unknown