MSYS2 recently updated MinGW64 with GCC 8.2.0 (MinGW32 will keep GCC 7.3.0 due to some internal compiler errors in v8.2.0).

Here are some of the reported warnings (the compilation still passes):

+----
[ 80%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.obj
In file included from H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:36: H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h: In member function 'void x265::CTURow::init(x265::Entropy&, unsigned int)': H:/development/media-autobuild_suite-master/build/x265-hg/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 H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:30: H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8: note: 'struct x265::FrameStats' declared here
 struct FrameStats
        ^~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp: In member function 'void x265::Encoder::readAnalysisFile(x265_analysis_data*, int, const x265_picture*, int)': H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3190:43: warning: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct x265::MV' from an array of 'x265_analysis_MV' {aka 'struct x265_analysis_MV'} [-Wclass-memaccess]
         memcpy(val, src, (size * readSize));\
                                           ^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3382:21: note: in expansion of macro 'X265_FREAD' X265_FREAD(mv[i], sizeof(MV), depthBytes, m_analysisFileIn, interPic->mv[i]);
                     ^~~~~~~~~~
In file included from H:/development/media-autobuild_suite-master/build/x265-hg/source/common/lowres.h:30, from H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.h:29, from H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:29: H:/development/media-autobuild_suite-master/build/x265-hg/source/common/mv.h:37:8: note: 'struct x265::MV' declared here
 struct MV
        ^~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp: In member function 'void x265::Encoder::readAnalysisFile(x265_analysis_data*, int, const x265_picture*, int, x265::cuLocation)': H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3468:43: warning: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct x265::MV' from an array of 'x265_analysis_MV' {aka 'struct x265_analysis_MV'} [-Wclass-memaccess]
         memcpy(val, src, (size * readSize));\
                                           ^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3707:21: note: in expansion of macro 'X265_FREAD' X265_FREAD(mv[i], sizeof(MV), depthBytes, m_analysisFileIn, interPic->mv[i]);
                     ^~~~~~~~~~
In file included from H:/development/media-autobuild_suite-master/build/x265-hg/source/common/lowres.h:30, from H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.h:29, from H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:29: H:/development/media-autobuild_suite-master/build/x265-hg/source/common/mv.h:37:8: note: 'struct x265::MV' declared here
 struct MV
        ^~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp: In member function 'bool x265::Encoder::computeSPSRPSIndex()': H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:4583: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 H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:28, from H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:30: H:/development/media-autobuild_suite-master/build/x265-hg/source/common/slice.h:45:8: note: 'struct x265::RPS' declared here
 struct RPS
        ^~~
[ 81%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.obj
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp: In function 'const x265_api* x265_api_get_164(int)': H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:723:70: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'api_get_func' {aka 'const x265_api* (*)(int)'} [-Wcast-function-type]
             api_get_func get = (api_get_func)GetProcAddress(h, method);
                                                                      ^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp: In function 'const x265_api* x265_api_query(int, int, int*)': H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:817:76: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'api_query_func' {aka 'const x265_api* (*)(int, int, int*)'} [-Wcast-function-type] api_query_func query = (api_query_func)GetProcAddress(h, method);

    ^
+----

I guess they may be related to different defaults of warnings being enabled, so you may have to disable a few more explicitly.
_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to