libmodplug
libmodplug copied to clipboard
0.8.9.0: compile time warnings
Fists just summary stats:
[tkloczko@ss-desktop SPECS]$ rpmbuild -ba --with check --with failing_tests libmodplug.spec --quiet 2>&1 | grep -- -W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
80 -Wregister
12 -Wsign-compare
8 -Wunused-result
8 -Wunused-but-set-variable
2 -Wmisleading-indentation
1 -Wodr
1 -Wlto-type-mismatch
and extracted all warnings from stderr with autoconf (2.71) warnings:
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -I m4
autoreconf: running: /usr/bin/autoconf --force
configure.ac:30: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:30: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:30: the top level
configure.ac:58: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:58: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
configure.ac:58: the top level
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:21: installing './compile'
configure.ac:8: installing './missing'
src/Makefile.am: installing './depcomp'
autoreconf: Leaving directory '.'
load_okt.cpp: In member function 'BOOL CSoundFile::ReadOKT(const BYTE*, DWORD)':
load_okt.cpp:46:28: warning: variable 'npatterns' set but not used [-Wunused-but-set-variable]
46 | UINT nsamples = 0, npatterns = 0, norders = 0;
| ^~~~~~~~~
load_mod.cpp: In member function 'void CSoundFile::ConvertModCommand(MODCOMMAND*) const':
load_mod.cpp:42:33: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
42 | if ((param == 0xFF) && (m_nSamples == 15)) command = 0; break;
| ^~
load_mod.cpp:42:89: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
42 | if ((param == 0xFF) && (m_nSamples == 15)) command = 0; break;
| ^~~~~
load_it.cpp: In member function 'BOOL CSoundFile::ReadIT(const BYTE*, DWORD)':
load_it.cpp:166:27: warning: variable 'channels_used' set but not used [-Wunused-but-set-variable]
166 | BYTE chnmask[64], channels_used[64];
| ^~~~~~~~~~~~~
load_it.cpp: In function 'void ITUnpack8Bit(signed char*, DWORD, LPBYTE, DWORD, BOOL)':
load_it.cpp:1221:15: warning: variable 'wHdr' set but not used [-Wunused-but-set-variable]
1221 | DWORD wHdr = 0;
| ^~~~
load_it.cpp: In function 'void ITUnpack16Bit(signed char*, DWORD, LPBYTE, DWORD, BOOL)':
load_it.cpp:1303:15: warning: variable 'wHdr' set but not used [-Wunused-but-set-variable]
1303 | DWORD wHdr = 0;
| ^~~~
load_dmf.cpp: In member function 'BOOL CSoundFile::ReadDMF(const BYTE*, DWORD)':
load_dmf.cpp:282:81: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
282 | else if (!cmd.note) { cmd.note = 0xfe; } break;
| ^~~~
load_dmf.cpp:282:122: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
282 | else if (!cmd.note) { cmd.note = 0xfe; } break;
| ^~~~~
load_669.cpp: In member function 'BOOL CSoundFile::Read669(const BYTE*, DWORD)':
load_669.cpp:51:14: warning: variable 'b669Ext' set but not used [-Wunused-but-set-variable]
51 | BOOL b669Ext;
| ^~~~~~~
load_ams.cpp: In member function 'BOOL CSoundFile::ReadAMS(LPCBYTE, DWORD)':
load_ams.cpp:48:14: warning: variable 'pkinf' set but not used [-Wunused-but-set-variable]
48 | BYTE pkinf[MAX_SAMPLES];
| ^~~~~
load_psm.cpp: In member function 'BOOL CSoundFile::ReadPSM(LPCBYTE, DWORD)':
load_psm.cpp:103:15: warning: variable 'smpnames' set but not used [-Wunused-but-set-variable]
103 | DWORD smpnames[MAX_SAMPLES];
| ^~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:678:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
678 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:684:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
684 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:690:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
690 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:696:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
696 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:702:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
702 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:708:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
708 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:714:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
714 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:720:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
720 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:728:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
728 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:734:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
734 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:740:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
740 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:746:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
746 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:752:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
752 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:758:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
758 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono8BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:764:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
764 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Mono16BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:770:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
770 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:780:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
780 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:786:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
786 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:792:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
792 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:798:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
798 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:804:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
804 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:810:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
810 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:816:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
816 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:822:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
822 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:830:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
830 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:836:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
836 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:842:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
842 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:848:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
848 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:854:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
854 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:860:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
860 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono8BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:866:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
866 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FastMono16BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:872:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
872 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:882:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
882 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:888:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
888 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:894:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
894 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:900:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
900 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:906:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
906 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:912:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
912 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:918:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
918 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:924:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
924 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:932:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
932 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:938:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
938 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:944:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
944 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:950:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
950 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:956:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
956 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:962:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
962 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo8BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:968:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
968 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID Stereo16BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:974:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
974 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:988:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
988 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:995:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
995 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1002:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1002 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1009:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1009 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1016:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1016 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1023:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1023 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1030:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1030 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1037:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1037 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1045:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1045 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1052:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1052 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1059:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1059 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1066:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1066 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1073:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1073 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1080:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1080 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono8BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1087:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1087 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterMono16BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1094:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1094 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1103:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1103 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1110:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1110 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1117:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1117 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitLinearMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1124:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1124 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1131:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1131 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitSplineMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1138:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1138 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1145:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1145 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitFirFilterMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1152:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1152 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1160:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1160 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1167:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1167 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1174:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1174 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitLinearRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1181:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1181 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1188:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1188 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitSplineRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1195:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1195 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo8BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:291:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
291 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1202:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP8'
1202 | SNDMIX_BEGINSAMPLELOOP8
| ^~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In function 'VOID FilterStereo16BitFirFilterRampMix(MODCHANNEL*, int*, int*)':
fastmix.cpp:299:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
299 | register MODCHANNEL * const pChn = pChannel;\
| ^~~~
fastmix.cpp:1209:9: note: in expansion of macro 'SNDMIX_BEGINSAMPLELOOP16'
1209 | SNDMIX_BEGINSAMPLELOOP16
| ^~~~~~~~~~~~~~~~~~~~~~~~
fastmix.cpp: In member function 'UINT CSoundFile::CreateStereoMix(int)':
fastmix.cpp:1488:30: warning: variable 'nMasterCh' set but not used [-Wunused-but-set-variable]
1488 | UINT nFlags, nMasterCh;
| ^~~~~~~~~
load_pat.cpp: In function 'void pat_init_patnames()':
load_pat.cpp:281:54: warning: ignoring return value of 'char* fgets(char*, int, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
281 | #define _mm_fgets(f,buf,sz) fgets(buf,sz,f)
| ~~~~~^~~~~~~~~~
load_pat.cpp:387:25: note: in expansion of macro '_mm_fgets'
387 | _mm_fgets(mmcfg, line, PATH_MAX);
| ^~~~~~~~~
load_pat.cpp:281:54: warning: ignoring return value of 'char* fgets(char*, int, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
281 | #define _mm_fgets(f,buf,sz) fgets(buf,sz,f)
| ~~~~~^~~~~~~~~~
load_pat.cpp:433:25: note: in expansion of macro '_mm_fgets'
433 | _mm_fgets(mmcfg, line, PATH_MAX);
| ^~~~~~~~~
load_pat.cpp: In function 'void pat_read_waveheader(FILE*, WaveHeader*, int)':
load_pat.cpp:284:54: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
284 | #define _mm_read_UBYTES(buf,sz,f) fread(buf,sz,1,f)
| ~~~~~^~~~~~~~~~~~
load_pat.cpp:517:33: note: in expansion of macro '_mm_read_UBYTES'
517 | _mm_read_UBYTES((BYTE *)hw, sizeof(WaveHeader), mmpat);
| ^~~~~~~~~~~~~~~
load_pat.cpp:284:54: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
284 | #define _mm_read_UBYTES(buf,sz,f) fread(buf,sz,1,f)
| ~~~~~^~~~~~~~~~~~
load_pat.cpp:525:33: note: in expansion of macro '_mm_read_UBYTES'
525 | _mm_read_UBYTES((BYTE *)hw, sizeof(WaveHeader), mmpat);
| ^~~~~~~~~~~~~~~
load_pat.cpp:284:54: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
284 | #define _mm_read_UBYTES(buf,sz,f) fread(buf,sz,1,f)
| ~~~~~^~~~~~~~~~~~
load_pat.cpp:542:9: note: in expansion of macro '_mm_read_UBYTES'
542 | _mm_read_UBYTES((BYTE *)hw, sizeof(WaveHeader), mmpat);
| ^~~~~~~~~~~~~~~
load_pat.cpp: In function 'void pat_read_layerheader(FILE*, LayerHeader*)':
load_pat.cpp:284:54: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
284 | #define _mm_read_UBYTES(buf,sz,f) fread(buf,sz,1,f)
| ~~~~~^~~~~~~~~~~~
load_pat.cpp:486:9: note: in expansion of macro '_mm_read_UBYTES'
486 | _mm_read_UBYTES((BYTE *)hl, sizeof(LayerHeader), mmpat);
| ^~~~~~~~~~~~~~~
load_pat.cpp: In function 'void pat_readpat(int, char*, int)':
load_pat.cpp:285:54: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
285 | #define _mm_read_SBYTES(buf,sz,f) fread(buf,sz,1,f)
| ~~~~~^~~~~~~~~~~~
load_pat.cpp:695:9: note: in expansion of macro '_mm_read_SBYTES'
695 | _mm_read_SBYTES(dest, num, mmpat);
| ^~~~~~~~~~~~~~~
load_abc.cpp: In function 'ABCTRACK* abc_locate_track(ABCHANDLE*, const char*, int)':
load_abc.cpp:829:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
829 | for( i=0; i+1 < sizeof(vc) && *voice && *voice != ']' && *voice != '%' && !isspace(*voice); voice++ ) // can work with inline voice instructions
| ~~~~^~~~~~~~~~~~
load_abc.cpp: In function 'void abc_add_chord(const char*, ABCHANDLE*, ABCTRACK*, uint32_t)':
load_abc.cpp:1499:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
1499 | for( i=0; i < sizeof(s) - 1 && p[i] && p[i] != '"' && p[i] != '/' && p[i] != '(' && p[i] != ')' && p[i] != ' '; i++ ) s[i] = p[i];
| ~~^~~~~~~~~~~~~~~
load_abc.cpp: In function 'void abc_set_parts(char**, char*)':
load_abc.cpp:1833:56: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
1833 | for( i=0; p[i] && p[i] != '%' && j < size && i < size; i++ ) {
| ~~^~~~~~
load_abc.cpp:1839:54: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
1839 | for( k = n; k<j; k++ ) q[k-1] = q[k]; // shift to the left...
| ~^~
load_abc.cpp:1874:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
1874 | for( i=0; i<j; i++ ) {
| ~^~
load_abc.cpp:1877:36: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
1877 | for( k=i; k<j; k++ ) q[k] = q[k+1];
| ~^~
load_abc.cpp: In function 'int abc_MIDI_drum(const char*, ABCHANDLE*)':
load_abc.cpp:2979:41: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
2979 | if( !isdigit(*p) && len < sizeof(h->drum)-1 ) {
| ~~~~^~~~~~~~~~~~~~~~~~~
load_abc.cpp:2983:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
2983 | if (len >= sizeof(h->drum)-1) {
| ~~~~^~~~~~~~~~~~~~~~~~~~
load_abc.cpp: In function 'int abc_MIDI_gchord(const char*, ABCHANDLE*)':
load_abc.cpp:3033:41: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
3033 | if( !isdigit(*p) && len < sizeof(h->gchord)-1 && !isdigit(p[1]) ) { *q++ = '1'; len ++; }
| ~~~~^~~~~~~~~~~~~~~~~~~~~
load_abc.cpp:3034:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
3034 | if (len >= sizeof(h->gchord)-1) {
| ~~~~^~~~~~~~~~~~~~~~~~~~~~
load_abc.cpp: In function 'void abc_metric_gchord(ABCHANDLE*, int, int)':
load_abc.cpp:3080:34: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
3080 | if (dest >= sizeof(h->gchord))
| ~~~~~^~~~~~~~~~~~~~~~~~~~
load_abc.cpp: In member function 'BOOL CSoundFile::ReadABC(const uint8_t*, DWORD)':
load_abc.cpp:3935:64: warning: comparison of integer expressions of different signedness: 'int' and 'DWORD' {aka 'unsigned int'} [-Wsign-compare]
3935 | if (mmstack[mmsp]->pos < dwMemLength) {
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
load_abc.cpp: In function 'MMFILE* mmfopen(const char*, const char*)':
load_abc.cpp:447:14: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
447 | fread(&mmfile[1],1,len,fp);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~
load_abc.cpp:428:3: warning: type 'struct MMFILE' violates the C++ One Definition Rule [-Wodr]
428 | } MMFILE;
| ^
load_mid.cpp:108:3: note: a different type is defined in another translation unit
108 | } MMFILE;
| ^
load_abc.cpp:426:13: note: the first difference of corresponding definitions is field 'sz'
426 | int sz;
| ^
load_mid.cpp:106:22: note: a field of same name but different type is defined in another translation unit
106 | unsigned int sz;
| ^
load_abc.cpp:428:3: note: type 'int' should match type 'unsigned int'
428 | } MMFILE;
| ^
snd_dsp.cpp:102:12: warning: type of 'MixSoundBuffer' does not match original declaration [-Wlto-type-mismatch]
102 | extern int MixSoundBuffer[MIXBUFFERSIZE*2];
| ^
fastmix.cpp:17:5: note: array types have different bounds
17 | int MixSoundBuffer[MIXBUFFERSIZE*4];
| ^
fastmix.cpp:17:5: note: 'MixSoundBuffer' was previously declared here
libtool: warning: remember to run 'libtool --finish /usr/lib64'
Look at my fork at https://github.com/sezero/libmodplug/tree/sezero which fixes those and more
Look at my fork at https://github.com/sezero/libmodplug/tree/sezero which fixes those and more
Got flooded out with a bunch of these building libmodplug to test after #66 was merged—do you have a patch for these?
For -Wregister : https://github.com/sezero/libmodplug/commit/c0db4e2c053f5ccd962c5a3ff7033adafe58d520
For misc others, check these out: https://github.com/sezero/libmodplug/commit/3a7fac8842d3f8745fd050bd6371e4ebe7c918bc https://github.com/sezero/libmodplug/commit/2d762bcd2ec6d643672895be48dcd6a9ebfa6e0e https://github.com/sezero/libmodplug/commit/fc591cb0bd985d6cf7bfe2a33115224b4c6f35b7 https://github.com/sezero/libmodplug/commit/b11d0dda2e1e4060537be2c765ba0394bb7cc181 https://github.com/sezero/libmodplug/commit/40638b6a77d5da28013b87048565c9c1566abed9
(There may be more, but these are the ones easy to find.)
Created https://github.com/Konstanty/libmodplug/pull/70
Now that PR/70 is in, which warnings do remain? Or, can this be closed?
Still have these (wish strncpy
would just get __attribute__((deprecated))
slapped on it already):
CXX load_pat.lo
load_pat.cpp: In function 'void PATsample(CSoundFile*, MODINSTRUMENT*, int, int)':
load_pat.cpp:1064:16: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 31 bytes from a string of length 255 [-Wstringop-truncation]
1064 | strncpy(cs->m_szNames[smp], s, 32-1);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
load_pat.cpp: In function 'void pat_init_patnames()':
load_pat.cpp:374:16: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 259 bytes from a string of length 259 [-Wstringop-truncation]
374 | strncpy(cfgsources[0], timiditycfg, PATH_MAX - 1);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'void PATinst(INSTRUMENTHEADER*, int, int)',
inlined from 'BOOL PAT_Load_Instruments(void*)' at load_pat.cpp:1115:10:
load_pat.cpp:1026:24: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 31 bytes from a string of length 49659 [-Wstringop-truncation]
1026 | strncpy(s, midipat[gm-1], 32);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
load_pat.cpp:1024:24: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
1024 | strncpy(s, hw.reserved, 32);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~
load_pat.cpp:1064:16: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying 31 bytes from a string of length 255 [-Wstringop-truncation] 1064 | strncpy(cs->m_szNames[smp], s, 32-1); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Not only will GCC's "correct" way of suppressing this (manually inserting a \0
) not suppress this, but GCC missed a blatant actual bug with the sprintf
above it, which can overflow the buffer if midipat[gm-1]
is longer than 245 🤦♀️
Opened #83 to fix the rest of the warnings on my end.
Possibly related: libmodplug segfaults when compiled with UBsan enabled, indicating that libmodplug depends on undefined behavior... No idea how to debug this though.