Compiler Warnings
Hi,
Normally there are no compiler warnings when compiling from HG, but meanwhile there is a lot :) Would be nice to have no compiler warnings at all ;)
thx,
Eliot
-- The C compiler identification is GNU 8.1.1 -- The CXX compiler identification is GNU 8.1.1
Scanning dependencies of target encoder
[ 1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
[ 2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp: In member function ‘void x265::Search::predInterSearch(x265::Mode&, const x265::CUGeom&, bool, uint32_t)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp:2173:36: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::Search::MergeData’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&merge, 0, sizeof(merge));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp:30:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.h:414:12: note: ‘struct x265::Search::MergeData’ declared here
struct MergeData
^~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp: In member function ‘void x265::Search::encodeResAndCalcRdInterCU(x265::Mode&, const x265::CUGeom&)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp:2758:50: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::Search::TUInfoCache’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&m_cacheTU, 0, sizeof(TUInfoCache));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.cpp:30:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/search.h:388:12: note: ‘struct x265::Search::TUInfoCache’ declared here
struct TUInfoCache
^~~
[ 3%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o
[ 4%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o
[ 5%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o
[ 6%] Building CXX object encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:33:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h: In member function ‘void x265::CTURow::init(x265::Entropy&, unsigned int)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h:108:46: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:28:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp: In constructor ‘x265::FrameEncoder::FrameEncoder()’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:64:47: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::RateControlEntry’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&m_rce, 0, sizeof(RateControlEntry));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h:40,
from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:33:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.h:66:8: note: ‘struct x265::RateControlEntry’ declared here
struct RateControlEntry
^~~~~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp: In member function ‘void x265::FrameEncoder::compressFrame()’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:390:92: warning: ‘void memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
_frame->m_encData->m_frameStats), 0, sizeof(m_frame->m_encData->m_frameStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:28:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp: In member function ‘virtual void x265::FrameEncoder::processRowEncoder(int, x265::ThreadLocalData&)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:1645:72: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&curRow.rowStats, 0, sizeof(curRow.rowStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:28:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:1730:78: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&stopRow.rowStats, 0, sizeof(stopRow.rowStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.cpp:28:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~
[ 7%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/framefilter.cpp:30:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h: In member function ‘void x265::CTURow::init(x265::Entropy&, unsigned int)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h:108:46: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/framefilter.cpp:27:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~
[ 8%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o
[ 10%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o
[ 11%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o
[ 12%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o
[ 13%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o
[ 14%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o
[ 15%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp: In member function ‘int x265::RateControl::writeRateControlFrameStats(x265::Frame, x265::RateControlEntry)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2843:21: warning: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Wrestrict]
sprintf(deltaPOC, "%s%d~", deltaPOC, rpsWriter->deltaPOC[i]);
^~ ~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2844:21: warning: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Wrestrict]
sprintf(bUsed, "%s%d~", bUsed, rpsWriter->bUsed[i]);
^ ~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2843:31: warning: ‘~’ directive writing 1 byte into a region of size between 0 and 127 [-Wformat-overflow=]
sprintf(deltaPOC, "%s%d~", deltaPOC, rpsWriter->deltaPOC[i]);
^~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2843:20: note: ‘sprintf’ output between 3 and 140 bytes into a destination of size 128
sprintf(deltaPOC, "%s%d~", deltaPOC, rpsWriter->deltaPOC[i]);
~^~~~~~~~~~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2844:28: warning: ‘~’ directive writing 1 byte into a region of size between 0 and 39 [-Wformat-overflow=]
sprintf(bUsed, "%s%d~", bUsed, rpsWriter->bUsed[i]);
^~~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/ratecontrol.cpp:2844:20: note: ‘sprintf’ output between 3 and 42 bytes into a destination of size 40
sprintf(bUsed, "%s%d~", bUsed, rpsWriter->bUsed[i]);
~^~~~~~~~~~
[ 16%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
[ 17%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/encoder.cpp:36:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h: In member function ‘void x265::CTURow::init(x265::Entropy&, unsigned int)’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/frameencoder.h:108:46: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::FrameStats’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/encoder.cpp:30:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:41:8: note: ‘struct x265::FrameStats’ declared here
struct FrameStats
^~
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/encoder.cpp: In member function ‘bool x265::Encoder::computeSPSRPSIndex()’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/encoder.cpp:4804:61: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::RPS’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(rpsInSPS, 0, sizeof(RPS) * MAX_NUM_SHORT_TERM_RPS);
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/framedata.h:28,
from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/encoder/encoder.cpp:30:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/slice.h:45:8: note: ‘struct x265::RPS’ declared here
struct RPS
^
[ 18%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
[ 20%] Building CXX object encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o
[ 20%] Built target encoder
Scanning dependencies of target common
[ 21%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-a.asm.o
[ 22%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/const-a.asm.o
[ 23%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/cpu-a.asm.o
[ 24%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ssd-a.asm.o
[ 25%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a.asm.o
[ 26%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/mc-a2.asm.o
[ 27%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixel-util8.asm.o
[ 28%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/blockcopy8.asm.o
[ 30%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/pixeladd8.asm.o
[ 31%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/dct8.asm.o
[ 32%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/seaintegral.asm.o
[ 33%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/sad-a.asm.o
[ 34%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8.asm.o
[ 35%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o
[ 36%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/v4-ipfilter8.asm.o
[ 37%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/h-ipfilter8.asm.o
[ 38%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/ipfilter8.asm.o
[ 40%] Building ASM_NASM object common/CMakeFiles/common.dir/x86/loopfilter.asm.o
[ 41%] Building CXX object common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o
[ 42%] Building CXX object common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o
[ 43%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o
[ 44%] Building CXX object common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o
[ 45%] Building CXX object common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o
[ 46%] Building CXX object common/CMakeFiles/common.dir/primitives.cpp.o
[ 47%] Building CXX object common/CMakeFiles/common.dir/pixel.cpp.o
[ 48%] Building CXX object common/CMakeFiles/common.dir/dct.cpp.o
[ 50%] Building CXX object common/CMakeFiles/common.dir/lowpassdct.cpp.o
[ 51%] Building CXX object common/CMakeFiles/common.dir/ipfilter.cpp.o
[ 52%] Building CXX object common/CMakeFiles/common.dir/intrapred.cpp.o
[ 53%] Building CXX object common/CMakeFiles/common.dir/loopfilter.cpp.o
[ 54%] Building CXX object common/CMakeFiles/common.dir/constants.cpp.o
[ 55%] Building CXX object common/CMakeFiles/common.dir/cpu.cpp.o
[ 56%] Building CXX object common/CMakeFiles/common.dir/version.cpp.o
[ 57%] Building CXX object common/CMakeFiles/common.dir/threading.cpp.o
[ 58%] Building CXX object common/CMakeFiles/common.dir/threadpool.cpp.o
[ 60%] Building CXX object common/CMakeFiles/common.dir/wavefront.cpp.o
[ 61%] Building CXX object common/CMakeFiles/common.dir/md5.cpp.o
[ 62%] Building CXX object common/CMakeFiles/common.dir/bitstream.cpp.o
[ 63%] Building CXX object common/CMakeFiles/common.dir/yuv.cpp.o
[ 64%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.o
[ 65%] Building CXX object common/CMakeFiles/common.dir/picyuv.cpp.o
[ 66%] Building CXX object common/CMakeFiles/common.dir/common.cpp.o
[ 67%] Building CXX object common/CMakeFiles/common.dir/param.cpp.o
[ 68%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.o
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/frame.cpp: In constructor ‘x265::Frame::Frame()’:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/frame.cpp:47:42: warning: ‘void memset(void, int, size_t)’ clearing an object of non-trivial type ‘struct x265::Lowres’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&m_lowres, 0, sizeof(m_lowres));
^
In file included from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/frame.h:29,
from /tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/frame.cpp:26:
/tmp/yaourt-tmp-eliot/aur-x265-hg/src/x265/source/common/lowres.h:107:8: note: ‘struct x265::Lowres’ declared here
struct Lowres : public ReferencePlanes
^~
[ 70%] Building CXX object common/CMakeFiles/common.dir/framedata.cpp.o
[ 71%] Building CXX object common/CMakeFiles/common.dir/cudata.cpp.o
[ 72%] Building CXX object common/CMakeFiles/common.dir/slice.cpp.o
[ 73%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.o
[ 74%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.o
[ 75%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.o
[ 76%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.o
[ 77%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.o
[ 78%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.o
[ 78%] Built target common
Scanning dependencies of target dynamicHDR10
[ 80%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/json11/json11.cpp.o
[ 81%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/JsonHelper.cpp.o
[ 82%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/metadataFromJson.cpp.o
[ 83%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/SeiMetadataDictionary.cpp.o
[ 84%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/api.cpp.o
[ 84%] Built target dynamicHDR10
Scanning dependencies of target x265-shared
[ 85%] Linking CXX shared library libx265.so
[ 85%] Built target x265-shared
Scanning dependencies of target cli
[ 86%] Building CXX object CMakeFiles/cli.dir/input/input.cpp.o
[ 87%] Building CXX object CMakeFiles/cli.dir/input/yuv.cpp.o
[ 88%] Building CXX object CMakeFiles/cli.dir/input/y4m.cpp.o
[ 90%] Building CXX object CMakeFiles/cli.dir/output/output.cpp.o
[ 91%] Building CXX object CMakeFiles/cli.dir/output/reconplay.cpp.o
[ 92%] Building CXX object CMakeFiles/cli.dir/output/yuv.cpp.o
[ 93%] Building CXX object CMakeFiles/cli.dir/output/y4m.cpp.o
[ 94%] Building CXX object CMakeFiles/cli.dir/output/raw.cpp.o
[ 95%] Building CXX object CMakeFiles/cli.dir/x265.cpp.o
[ 96%] Linking CXX executable x265
[ 96%] Built target cli
Scanning dependencies of target x265-static
[ 97%] Linking CXX static library libx265.a
[ 97%] Built target x265-static
Scanning dependencies of target hdr10plus-shared
[ 98%] Linking CXX shared library libhdr10plus.so
[ 98%] Built target hdr10plus-shared
Scanning dependencies of target hdr10plus-static
[100%] Linking CXX static library libhdr10plus.a
[100%] Built target hdr10plus-static
Thanks for reporting, we are going to look this issue asap.