[Bug 255796] multimedia/smpeg: fix incorrect clang warning suppression flag.
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue May 11 15:24:52 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255796
Bug ID: 255796
Summary: multimedia/smpeg: fix incorrect clang warning
suppression flag.
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: acm at FreeBSD.org
Reporter: dim at FreeBSD.org
Flags: maintainer-feedback?(acm at FreeBSD.org)
Assignee: acm at FreeBSD.org
Created attachment 224853
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=224853&action=edit
Use -Wno-c++11-narrowing instead of -Wno-error-narrowing
During an exp-run for llvm 12 (see bug 255570), it turned out that
multimedia/smpeg does not build with clang 12.0.0 [1]:
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.
Note that it might be better to compile all of the port with -std=gnu++98 since
it is very old C++ code, but it does not seem to respect USE_CXXSTD=gnu++98, as
the configure scripts are also pretty old. Better not try to mess with it too
much...
[1]
http://package22.nyi.freebsd.org/data/mainamd64PR255570-default/2021-05-08_16h02m24s/logs/smpeg-0.4.4_15.log
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list