Closed uartie closed 6 years ago
libva (master) heads/master-0-gd6fd111e2062 ffmpeg (master) heads/master-0-gd176497cec95 libyami (apache) heads/apache-0-g8e941ab610db
GCC 8.0.1 is default on recently released Fedora 28.
$ ./autogen.sh --disable-silent-rules --prefix="/opt/media/install" --enable-tests --enable-debug --enable-h264enc --enable-jpegenc --enable-vp8enc --enable-vp9enc --enable-h265enc --enable-h264dec --enable-jpegdec --enable-vp8dec --enable-vp9dec --enable-h265dec --enable-mpeg2dec --enable-vc1dec --disable-fakedec --disable-oclfilters --enable-dmabuf --enable-md5 --disable-egl --disable-v4l2 --disable-wayland --enable-x11 $ make h264Parser_unittest.cpp: In member function 'void YamiParser::H264::H264ParserTest::checkH264Pps(YamiParser::H264::Parser&, const YamiParser::H264::NalUnit*)': h264Parser_unittest.cpp:150:45: error: 'void* memset(void*, int, size_t)' clearing an object of type 'using element_type = std::remove_extent<YamiParser::H264::PPS>::type' {aka 'struct YamiParser::H264::PPS'} with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess] memset(pps.get(), 0, sizeof(PPS)); ^ In file included from h264Parser_unittest.cpp:22: h264Parser.h:292:8: note: 'using element_type = std::remove_extent<YamiParser::H264::PPS>::type' {aka 'struct YamiParser::H264::PPS'} declared here struct PPS { ^~~ h264Parser_unittest.cpp: In member function 'void YamiParser::H264::H264ParserTest::checkH264SliceHeader(YamiParser::H264::Parser&, YamiParser::H264::NalUnit*)': h264Parser_unittest.cpp:176:55: error: 'void* memset(void*, int, size_t)' clearing an object of type 'using element_type = std::remove_extent<YamiParser::H264::SliceHeader>::type' {aka 'class YamiParser::H264::SliceHeader'} with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess] memset(slice.get(), 0, sizeof(SliceHeader)); ^ In file included from h264Parser_unittest.cpp:22: h264Parser.h:371:7: note: 'using element_type = std::remove_extent<YamiParser::H264::SliceHeader>::type' {aka 'class YamiParser::H264::SliceHeader'} declared here class SliceHeader { ^~~~~~~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Makefile:908: unittest-h264Parser_unittest.o] Error 1 make[2]: Leaving directory '/opt/media/build/libyami/codecparsers' make[1]: *** [Makefile:681: all-recursive] Error 1 make[1]: Leaving directory '/opt/media/build/libyami' make: *** [Makefile:508: all] Error 2
Fixed by #835
libva (master) heads/master-0-gd6fd111e2062 ffmpeg (master) heads/master-0-gd176497cec95 libyami (apache) heads/apache-0-g8e941ab610db
GCC 8.0.1 is default on recently released Fedora 28.