Catalina… New developper!?
I admit it, it’s me. I was looking at different issue, but seen some ‘low hanging fruits’ and thought it is time to start contributing.
Speaking of Catalina (the macOS version) I will be porting ART from executable loader script to LaunchServices later. It will take a day or so.
thanks! btw, I am thinking of releasing 1.2 soon, maybe in a couple of days…
W10/MSYS2 GCC 9.2
I checkout 1.1-53-g7866f5445 but I still get those warnings in dcraw.cc
[ 7%] Building CXX object rtengine/CMakeFiles/rtengine.dir/dcraw.cc.obj
In file included from D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:96:
C:/msys64/mingw64/x86_64-w64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
15 | #warning Please include winsock2.h before windows.h
| ^~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc: In member function 'void DCraw::nikon_yuv_load_raw()':
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:1409:17: warning: 'yuv[3]' may be used uninitialized in this function [-Wmaybe-uninitialized]
1409 | int row, col, yuv[4], rgb[3], b, c;
| ^~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:1409:17: warning: 'yuv[2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc: In member function 'void DCraw::foveon_interpolate()':
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[2][2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
4087 | FORC3 last[i][j] += correct[i][c] * cam_xyz[c][j];
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[2][1]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[2][0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[1][2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[1][1]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[1][0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[0][2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[0][1]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4087:24: warning: 'cam_xyz[0][0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4020:23: warning: '*((void*)& color_dq +8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
4020 | FORC3 mul[c] = dq[c]/div[c];
| ~~~~~^~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4039:23: note: '*((void*)& color_dq +8)' was declared here
4039 | float chroma_dq[3], color_dq[3], diag[3][3], div[3];
| ^~~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4020:23: warning: '*((void*)& color_dq +4)' may be used uninitialized in this function [-Wmaybe-uninitialized]
4020 | FORC3 mul[c] = dq[c]/div[c];
| ~~~~~^~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4039:23: note: '*((void*)& color_dq +4)' was declared here
4039 | float chroma_dq[3], color_dq[3], diag[3][3], div[3];
| ^~~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4020:23: warning: 'color_dq' may be used uninitialized in this function [-Wmaybe-uninitialized]
4020 | FORC3 mul[c] = dq[c]/div[c];
| ~~~~~^~~~~~~
D:/ART/ARTSOURCE/ART/rtengine/dcraw.cc:4039:23: note: 'color_dq' was declared here
4039 | float chroma_dq[3], color_dq[3], diag[3][3], div[3];
It’s not really a problem for me but it would be clean to suppress those warnings.
Thanks
Thank you very much for your contribution to the project!
Which options do you use to compile? Under msys2 I only get the winsock2 related one with the last master.
Build flags: -m64 -mwin32 -msse2 -mfpmath=sse -mthreads -Wno-aggressive-loop-optimizations -Wno-parentheses -std=c++11 -march=native -Werror=unused-label -Wall -Wuninitialized -Wno-deprecated-declarations -Wno-unused-result -fopenmp -Werror=unknown-pragmas -DNDEBUG -O3 -ftree-vectorize
Link flags: -m64 -mthreads -static-libgcc -march=native -s -O3 -fno-use-linker-plugin
I think some flags are set inside the cmake file
I had a look in Rawtherapee and there the compiler is instructed to just ignore these warnings.
@agriggio if you think it is useful, I can send a patch also for this. It is just ‘cosmetics’ in the output (as the other ones in dcraw.cc also )
sure, thanks!
@hiram, fyi I was thinking of releasing 1.2 tomorrow. if you are still interested in the osx changes and need more time, just let me know (no problem otherwise of course)
Alberto