Catalina... new commit

@agriggio

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.

3 Likes

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.

1 Like

thanks! btw, I am thinking of releasing 1.2 soon, maybe in a couple of days…

4 Likes

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! :call_me_hand:

1 Like

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 :slight_smile: )

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

1 Like