Commits on Source (5)
-
std::mem_fun and std::bind2nd have been deprecated in C++11 and will be removed in C++17. They were replaced by std::mem_fn and std::bind which are easier to use. Signed-off-by:
Hugo Beauzée-Luyssen <hugo@beauzee.fr> (cherry picked from commit 6fce792e) Signed-off-by:
Martin Storsjö <martin@martin.st>
f5e69654 -
Martin Storsjö authored
This project uses std::auto_ptr, which was deprecated in C++11, so stick to compiling in C++98 mode. (Either C++98, C++11 or C++14 would work.) This fixes building with newer compilers that default to C++17 if nothing is specified (which is the default since GCC 11 and Clang 16). When building with Clang/libc++ 16 in C++17 mode, it fails with errors like these: <build>/projectM/Renderer/RenderItemDistanceMetric.hpp:20:46: error: no template named 'binary_function' in namespace 'std'; did you mean '__binary_function'? class RenderItemDistanceMetric : public std::binary_function<const RenderItem*, const RenderItem*, double> { ~~~~~^~~~~~~~~~~~~~~ (The std::binary_function class is removed in C++17.) (cherry picked from commit 3e29d7f6) Signed-off-by:
Martin Storsjö <martin@martin.st>
3076009b -
Martin Storsjö authored
This project uses the 'register' storage class specifier for a lot of variables, and C++17 disallows that storage class spcifier. This fixes building with newer compilers that default to C++17 if nothing is specified (which is the default since GCC 11 and Clang 16). When building with Clang 16 in C++17 mode, it fails with errors like these: KM_util.cpp:357:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register byte_t c = 0, d = 0; ^~~~~~~~~ (cherry picked from commit fb8eb5ed) Signed-off-by:
Martin Storsjö <martin@martin.st>
0637137a -
Martin Storsjö authored
This project uses the 'register' storage class specifier for a lot of variables, and C++17 disallows that storage class spcifier. This fixes building with newer compilers that default to C++17 if nothing is specified (which is the default since GCC 11 and Clang 16). When building with Clang 16 in C++17 mode, it fails with errors like these: fastmix.cpp:678:2: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] SNDMIX_BEGINSAMPLELOOP8 ^ fastmix.cpp:291:2: note: expanded from macro 'SNDMIX_BEGINSAMPLELOOP8' register MODCHANNEL * const pChn = pChannel;\ ^ (cherry picked from commit 72e7335d) Signed-off-by:
Martin Storsjö <martin@martin.st>
41cf40b1 -
Martin Storsjö authored
This fixes errors like these: libprojectM/projectM.hpp:303:8: error: no template named 'auto_ptr' in namespace 'std' std::auto_ptr<Preset> m_activePreset; ~~~~~^ The std::auto_ptr type was deprecated in C++11 and removed in C++17. The VLC C++ headers use C++11 features, so the only working alternatives here are C++11 or C++14. (cherry picked from commit 4100c227) Signed-off-by:
Martin Storsjö <martin@martin.st>
01dd8180
Showing
- contrib/src/asdcplib/rules.mak 3 additions, 1 deletioncontrib/src/asdcplib/rules.mak
- contrib/src/modplug/rules.mak 3 additions, 1 deletioncontrib/src/modplug/rules.mak
- contrib/src/projectM/rules.mak 1 addition, 0 deletionscontrib/src/projectM/rules.mak
- modules/demux/mkv/chapters.cpp 3 additions, 2 deletionsmodules/demux/mkv/chapters.cpp
- modules/visualization/Makefile.am 1 addition, 1 deletionmodules/visualization/Makefile.am