Skip to content

Fix warnings occuring with -Wstrict-overflow=5 flag#1989

Open
fspindle wants to merge 34 commits into
lagadic:masterfrom
fspindle:fix_warning_strict_overflow
Open

Fix warnings occuring with -Wstrict-overflow=5 flag#1989
fspindle wants to merge 34 commits into
lagadic:masterfrom
fspindle:fix_warning_strict_overflow

Conversation

@fspindle

Copy link
Copy Markdown
Contributor

Fix warnings occuring when ACTIVATE_WARNING_STRICT_OVERFLOW is set to ON

fspindle and others added 30 commits June 24, 2026 16:02
…onstant in comparison [-Wstrict-overflow]

In file included from visp/modules/core/src/image/vpFont.cpp:66:
visp/modules/core/src/image/private/stb_truetype.h: In function ‘int stbtt_BakeFontBitmap_internal(unsigned char*, int, float, unsigned char*, int, int, int, int, stbtt_bakedchar*)’:
visp/modules/core/src/image/private/stb_truetype.h:4131:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
 4131 | }
      | ^
… ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]

visp/modules/core/src/image/vpImageDraw.cpp: In function ‘void {anonymous}::DrawLine(visp::vpImage<Type>&, int, int, int, int, const Type&, unsigned int) [with Type = unsigned char]’:
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:47: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:83: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                                                               ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:99: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                                                                               ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
visp/modules/core/src/image/vpImageDraw.cpp:73:47: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:74:74: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   74 |     if ((x1 < 0 && x2 < 0) || (y1 < 0 && y2 < 0) || ((x1 - w) > 0 && (x2 - w) > 0) || ((y1 - h) > 0 && (y2 - h) > 0)) {
      |                                                                      ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:74:108: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   74 |     if ((x1 < 0 && x2 < 0) || (y1 < 0 && y2 < 0) || ((x1 - w) > 0 && (x2 - w) > 0) || ((y1 - h) > 0 && (y2 - h) > 0)) {
      |                                                                                                        ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp: In function ‘void {anonymous}::DrawLine(visp::vpImage<Type>&, int, int, int, int, const Type&, unsigned int) [with Type = visp::vpRGBa]’:
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:47: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:83: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                                                               ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:99: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                                                                               ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:73:31: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
visp/modules/core/src/image/vpImageDraw.cpp:73:47: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   73 |   if (x1 < 0 || y1 < 0 || (x1 - w) > 0 || (y1 - h) > 0 || x2 < 0 || y2 < 0 || (x2 - w) > 0 || (y2 - h) > 0) {
      |                                           ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:74:74: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   74 |     if ((x1 < 0 && x2 < 0) || (y1 < 0 && y2 < 0) || ((x1 - w) > 0 && (x2 - w) > 0) || ((y1 - h) > 0 && (y2 - h) > 0)) {
      |                                                                      ~~~~^~~~
visp/modules/core/src/image/vpImageDraw.cpp:74:108: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   74 |     if ((x1 < 0 && x2 < 0) || (y1 < 0 && y2 < 0) || ((x1 - w) > 0 && (x2 - w) > 0) || ((y1 - h) > 0 && (y2 - h) > 0)) {
      |                                                                                                        ~~~~^~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/core/src/image/vpImageConvert.cpp:47:
visp/modules/core/src/image/vpImageConvert.cpp: In static member function ‘static void visp::vpImageConvert::MONO16ToGrey(unsigned char*, unsigned char*, unsigned int)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/core/src/image/vpImageConvert.cpp:1703:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
 1703 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/core/src/image/vpImageConvert.cpp: In static member function ‘static void visp::vpImageConvert::MONO16ToRGBa(unsigned char*, unsigned char*, unsigned int)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/core/src/image/vpImageConvert.cpp:1703:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
 1703 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/modules/core/include/visp3/core/vpImageFilter.h:1953:25: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1953 |       for (int i = 1; i <= middle; ++i) {
      |                       ~~^~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h:1920:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1920 |   static void getGaussianDerivativeKernel(FilterType *filter, unsigned int size, FilterType sigma = 0., bool normalize = true)
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h:1947:25: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1947 |       for (int i = 1; i <= middle; ++i) {
      |                       ~~^~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h:1920:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1920 |   static void getGaussianDerivativeKernel(FilterType *filter, unsigned int size, FilterType sigma = 0., bool normalize = true)
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h:1939:23: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1939 |     for (int i = 1; i <= middle; ++i) {
      |                     ~~^~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h:1920:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1920 |   static void getGaussianDerivativeKernel(FilterType *filter, unsigned int size, FilterType sigma = 0., bool normalize = true)
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
…g P +- C1 with P +- C2 [-Wstrict-overflow]

In file included from visp/modules/core/test/image/testImageBinarise.cpp:40:
In static member function ‘static void visp::vpImageTools::binarise(visp::vpImage<Type>&, Type, Type, Type, Type, Type, bool) [with Type = double]’,
    inlined from ‘int main()’ at visp/modules/core/test/image/testImageBinarise.cpp:91:25:
visp/modules/core/include/visp3/core/vpImageTools.h:761:12: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
  761 |   for (; p < pend; ++p) {
      |          ~~^~~~~~
In static member function ‘static void visp::vpImageTools::binarise(visp::vpImage<Type>&, Type, Type, Type, Type, Type, bool) [with Type = visp::vpRGBa]’,
    inlined from ‘int main()’ at visp/modules/core/test/image/testImageBinarise.cpp:92:25:
visp/modules/core/include/visp3/core/vpImageTools.h:761:12: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
  761 |   for (; p < pend; ++p) {
      |          ~~^~~~~~
… +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/modules/core/test/image/testHSVGradient.cpp: In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = unsigned char; bool useFullScale = true; OutputType = double]’:
visp/modules/core/test/image/testHSVGradient.cpp:382:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  382 | }
      | ^
visp/modules/core/test/image/testHSVGradient.cpp: In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = unsigned char; bool useFullScale = false; OutputType = double]’:
visp/modules/core/test/image/testHSVGradient.cpp:382:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/core/test/image/testHSVGradient.cpp: In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = double; bool useFullScale = true; OutputType = double]’:
visp/modules/core/test/image/testHSVGradient.cpp:382:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
[ 28%] Built target testImageDifference
[ 28%] Building CXX object modules/core/CMakeFiles/testImageOwnership.dir/test/image/testImageOwnership.cpp.o
In file included from visp/modules/core/test/image/testHSVGradient.cpp:45:
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIdLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2768 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = double; bool useFullScale = true; OutputType = double]’,
    inlined from ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIdLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’ at visp/modules/core/include/visp3/core/vpImageFilter.h:2784:41:
visp/modules/core/include/visp3/core/vpImageFilter.h:2734:29: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2734 |     for (int iter = 1; iter < nbCols - 1; ++iter) {
      |                        ~~~~~^~~~~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIdLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2768 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterYMultithreadIdLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2870:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2870 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2768 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = unsigned char; bool useFullScale = true; OutputType = double]’,
    inlined from ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’ at visp/modules/core/include/visp3/core/vpImageFilter.h:2784:41:
visp/modules/core/include/visp3/core/vpImageFilter.h:2734:29: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2734 |     for (int iter = 1; iter < nbCols - 1; ++iter) {
      |                        ~~~~~^~~~~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb1EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2768 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb0EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
In static member function ‘static typename std::enable_if<std::is_arithmetic<OutputType>::value, void>::type visp::vpImageFilter::initGradientFilterDifferenceImageX(const visp::vpImage<visp::vpHSV<T, useFullScale> >&, std::vector<OutputType>&, const int&, const int&) [with HSVType = unsigned char; bool useFullScale = false; OutputType = double]’,
    inlined from ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb0EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’ at visp/modules/core/include/visp3/core/vpImageFilter.h:2784:41:
visp/modules/core/include/visp3/core/vpImageFilter.h:2734:29: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2734 |     for (int iter = 1; iter < nbCols - 1; ++iter) {
      |                        ~~~~~^~~~~~~~~~~~
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterXMultithreadIhLb0EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2768:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2768 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
[ 28%] Linking CXX executable testImageGetValue
visp/modules/core/include/visp3/core/vpImageFilter.h: In function ‘_ZN4visp13vpImageFilter26gradientFilterYMultithreadIhLb0EdEENSt9enable_ifIXsrSt13is_arithmeticIT1_E5valueEvE4typeERKNS_7vpImageINS_5vpHSVIT_XT0_EEEEERNS8_IS4_EERKSt6vectorIS4_SaIS4_EERKiPKNS8_IbEE._omp_fn.0’:
visp/modules/core/include/visp3/core/vpImageFilter.h:2870:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2870 | #pragma omp parallel default(shared) private(iam, nt, irows, rstart, istart, istop) num_threads(nbThread)
      |         ^~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/robot/src/wireframe-simulator/vpLex.cpp:40:
visp/modules/robot/src/wireframe-simulator/vpLex.cpp: In function ‘void visp::poperr()’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/robot/src/wireframe-simulator/vpLex.cpp:827:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  827 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/robot/src/wireframe-simulator/vpLex.cpp:827:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  827 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/modules/vision/src/homography-estimation/vpHomographyVVS.cpp: In static member function ‘static double visp::vpHomography::computeRotation(unsigned int, visp::vpPoint*, visp::vpPoint*, visp::vpHomogeneousMatrix&, int)’:
visp/modules/vision/src/homography-estimation/vpHomographyVVS.cpp:91:8: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   91 | double vpHomography::computeRotation(unsigned int nbpoint, vpPoint *c1P, vpPoint *c2P, vpHomogeneousMatrix &c2Mc1,
      |        ^~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/core/include/visp3/core/vpDebug.h:52,
                 from visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:34:
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp: In member function ‘void visp::vpPoseFeatures::clear()’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:470:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  470 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/vision/src/pose-estimation/vpPoseFeatures.cpp:50:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   50 | void vpPoseFeatures::clear()
      |      ^~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/tracker/tt/include/visp3/tt/vpTemplateTracker.h:47,
                 from visp/modules/tracker/tt/src/vpTemplateTracker.cpp:34:
visp/modules/tracker/tt/src/vpTemplateTracker.cpp: In member function ‘virtual void visp::vpTemplateTracker::trackPyr(const visp::vpImage<unsigned char>&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/tracker/tt/src/vpTemplateTracker.cpp:845:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  845 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/tracker/tt/src/vpTemplateTracker.cpp:845:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  845 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/tracker/tt/src/vpTemplateTracker.cpp:718:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  718 | void vpTemplateTracker::trackPyr(const vpImage<unsigned char> &I)
      |      ^~~~~~~~~~~~~~~~~
…nstant in comparison [-Wstrict-overflow]

visp/modules/tracker/rbt/src/mask/vpColorHistogram.cpp: In member function ‘void visp::vpColorHistogram::computeProbas(const visp::vpImage<visp::vpRGBa>&, visp::vpImage<float>&, const visp::vpRect&) const’:
visp/modules/tracker/rbt/src/mask/vpColorHistogram.cpp:146:3: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  146 |   for (int i = top; i <= bottom; ++i) {
      |   ^~~
…nstant in comparison [-Wstrict-overflow]

visp/modules/tracker/rbt/src/mask/vpColorHistogram.cpp: In member function ‘void visp::vpColorHistogram::computeProbas(const visp::vpImage<visp::vpRGBa>&, visp::vpImage<float>&, const visp::vpRect&) const’:
visp/modules/tracker/rbt/src/mask/vpColorHistogram.cpp:146:3: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  146 |   for (int i = top; i <= bottom; ++i) {
      |   ^~~
[ 59%] Building CXX object modules/rbt/CMakeFiles/visp_rbt.dir/src/mask/vpColorHistogramMask.cpp.o
In file included from visp/modules/tracker/rbt/include/visp3/rbt/vpRBKltTracker.h:38,
                 from visp/modules/tracker/rbt/src/features/vpRBKltTracker.cpp:31:
visp/modules/tracker/rbt/src/features/vpRBKltTracker.cpp: In member function ‘virtual void visp::vpRBKltTracker::trackFeatures(const visp::vpRBFeatureTrackerInput&, const visp::vpRBFeatureTrackerInput&, const visp::vpHomogeneousMatrix&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/tracker/rbt/src/features/vpRBKltTracker.cpp:317:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  317 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/tracker/rbt/src/features/vpRBKltTracker.cpp: In member function ‘virtual void visp::vpRBKltTracker::extractFeatures(const visp::vpRBFeatureTrackerInput&, const visp::vpRBFeatureTrackerInput&, const visp::vpHomogeneousMatrix&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/tracker/rbt/src/features/vpRBKltTracker.cpp:317:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  317 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/modules/tracker/mbt/src/vpMbTracker.cpp: In member function ‘virtual void visp::vpMbTracker::loadCAOModel(const std::string&, std::vector<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char> > >&, int&, bool, bool, const visp::vpHomogeneousMatrix&)’:
visp/modules/tracker/mbt/src/vpMbTracker.cpp:2515:7: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 2515 |       if (nb_circles > 0) {
      |       ^~
…nstant in comparison [-Wstrict-overflow]

visp/modules/tracker/rbt/src/mask/vpCombinedDepthAndColorMask.cpp: In member function ‘virtual void visp::vpCombinedDepthAndColorMask::updateMask(const visp::vpRBFeatureTrackerInput&, const visp::vpRBFeatureTrackerInput&, visp::vpImage<float>&)’:
visp/modules/tracker/rbt/src/mask/vpCombinedDepthAndColorMask.cpp:70:5: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
   70 |     for (int i = top; i <= bottom; ++i) {
      |     ^~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from /home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp/modules/core/include/visp3/core/vpImageConvert.h:45,
                 from /home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp/modules/imgproc/src/vpCircleHoughTransform_centers.cpp:31:
/home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp/modules/imgproc/src/vpCircleHoughTransform_centers.cpp: In member function ‘virtual void visp::vpCircleHoughTransform::computeCenterCandidates()’:
/home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
/home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp/modules/imgproc/src/vpCircleHoughTransform_centers.cpp:535:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  535 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
/home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
/home/fspindle/soft/visp-ws/test-pr/visp-fspindle/visp/modules/imgproc/src/vpCircleHoughTransform_centers.cpp:535:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  535 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from /visp/modules/core/test/image/common.hpp:39,
                 from /visp/modules/core/test/image/catchImageMorphology.cpp:44:
In static member function ‘static void visp::vpImageMorphology::imageOperation(visp::vpImage<Type>&, vpPixelOperation<T>*, const int&) [with T = unsigned char]’,
    inlined from ‘static void visp::vpImageMorphology::erosion(visp::vpImage<Type>&, const int&) [with T = unsigned char]’ at /visp/modules/core/include/visp3/core/vpImageMorphology.h:541:36,
    inlined from ‘void CATCH2_INTERNAL_TEST_12()’ at /visp/modules/core/test/image/catchImageMorphology.cpp:324:48:
/visp/modules/core/include/visp3/core/vpImageMorphology.h:485:5: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  485 |     if ((r - halfKernelSize) < 0) {
      |     ^~
/visp/modules/core/include/visp3/core/vpImageMorphology.h:495:7: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  495 |       if ((c - halfKernelSize) < 0) {
      |       ^~
In static member function ‘static void visp::vpImageMorphology::imageOperation(visp::vpImage<Type>&, vpPixelOperation<T>*, const int&) [with T = unsigned char]’,
    inlined from ‘static void visp::vpImageMorphology::dilatation(visp::vpImage<Type>&, const int&) [with T = unsigned char]’ at /visp/modules/core/include/visp3/core/vpImageMorphology.h:573:36,
    inlined from ‘void CATCH2_INTERNAL_TEST_12()’ at /visp/modules/core/test/image/catchImageMorphology.cpp:266:51:
/visp/modules/core/include/visp3/core/vpImageMorphology.h:485:5: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  485 |     if ((r - halfKernelSize) < 0) {
      |     ^~
/visp/modules/core/include/visp3/core/vpImageMorphology.h:495:7: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  495 |       if ((c - halfKernelSize) < 0) {
      |       ^~
… ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]

In function ‘bool visp::outsideImage(int, int, int, int, int)’,
    inlined from ‘double visp::vpMeSite::convolution(const visp::vpImage<unsigned char>&, const visp::vpMe*)’ at visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:269:19:
visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:66:24: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   66 |   return ((0 < (half_1 - i)) || (((i - rows) + half_3) > 0) || (0 < (half_1 - j)) || (((j - cols) + half_3) > 0));
      |                ~~~~~~~~^~~~
visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:66:77: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   66 |   return ((0 < (half_1 - i)) || (((i - rows) + half_3) > 0) || (0 < (half_1 - j)) || (((j - cols) + half_3) > 0));
      |                                                                     ~~~~~~~~^~~~
In function ‘bool visp::outsideImage(int, int, int, int, int)’,
    inlined from ‘double visp::vpMeSite::convolution(const visp::vpImage<unsigned char>&, const visp::vpMe&, unsigned int)’ at visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:307:19:
visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:66:24: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   66 |   return ((0 < (half_1 - i)) || (((i - rows) + half_3) > 0) || (0 < (half_1 - j)) || (((j - cols) + half_3) > 0));
      |                ~~~~~~~~^~~~
visp/modules/tracker/me/src/moving-edges/vpMeSite.cpp:66:77: warning: assuming signed overflow does not occur when simplifying ‘X - Y > 0’ to ‘X > Y’ [-Wstrict-overflow]
   66 |   return ((0 < (half_1 - i)) || (((i - rows) + half_3) > 0) || (0 < (half_1 - j)) || (((j - cols) + half_3) > 0));
      |                                                                     ~~~~~~~~^~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

sp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:123:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  123 |   for (int j = 1; j < static_cast<int>(order) - 1; j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   57 | void vpFeatureMomentBasic::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:128:23: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  128 |     for (int i = 1; i < static_cast<int>(order) - j - 1; i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   57 | void vpFeatureMomentBasic::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:107:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  107 |   for (int i = 1; i < static_cast<int>(order) - 1; i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   57 | void vpFeatureMomentBasic::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:90:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   90 |   for (int j = 1; j < static_cast<int>(order) - 1; j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentBasic.cpp:57:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   57 | void vpFeatureMomentBasic::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:285:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  285 |   for (int j = 1; j < static_cast<int>(order) - 1; j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  139 | void vpFeatureMomentCentered::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:289:23: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  289 |     for (int i = 1; i < static_cast<int>(order) - j - 1; i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  139 | void vpFeatureMomentCentered::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:262:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  262 |   for (int j = 1; j < static_cast<int>(order) - 1; j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  139 | void vpFeatureMomentCentered::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:239:21: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  239 |   for (int i = 1; i < static_cast<int>(order) - 1; i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/visual_features/src/visual-feature/vpFeatureMomentCentered.cpp:139:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  139 | void vpFeatureMomentCentered::compute_interaction()
      |      ^~~~~~~~~~~~~~~~~~~~~~~
…nstant in comparison [-Wstrict-overflow]

visp/modules/tracker/rbt/src/mask/vpColorHistogramMask.cpp: In member function ‘virtual void visp::vpColorHistogramMask::updateMask(const visp::vpRBFeatureTrackerInput&, const visp::vpRBFeatureTrackerInput&, visp::vpImage<float>&)’:
visp/modules/tracker/rbt/src/mask/vpColorHistogramMask.cpp:109:5: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  109 |     for (int i = top; i <= bottom; ++i) {
      |     ^~~
visp/modules/tracker/rbt/src/mask/vpColorHistogramMask.cpp:121:5: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  121 |     for (int i = top; i <= bottom; ++i) {
      |     ^~~
visp/modules/tracker/rbt/src/mask/vpColorHistogramMask.cpp:155:5: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  155 |     for (int i = top; i <= bottom; ++i) {
      |     ^~~
…nstant in comparison [-Wstrict-overflow]

visp/modules/tracker/rbt/src/mask/vpDepthMask.cpp: In member function ‘virtual void visp::vpDepthMask::updateMask(const visp::vpRBFeatureTrackerInput&, const visp::vpRBFeatureTrackerInput&, visp::vpImage<float>&)’:
visp/modules/tracker/rbt/src/mask/vpDepthMask.cpp:102:5: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  102 |     for (int i = top; i <= bottom; ++i) {
      |     ^~~
… occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/core/src/tools/file/vpIoTools_npy.cpp:43:
visp/modules/core/src/tools/file/basisu_miniz.h: In function ‘void buminiz::tdefl_start_dynamic_block(tdefl_compressor*)’:
visp/modules/core/src/tools/file/basisu_miniz.h:632:30: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  632 | #define MZ_MAX(a,b) (((a)>(b))?(a):(b))
      |                              ^
visp/modules/core/src/tools/file/basisu_miniz.h:1625:21: note: in expansion of macro ‘MZ_MAX’
 1625 |   num_bit_lengths = MZ_MAX(4, (num_bit_lengths + 1)); TDEFL_PUT_BITS(num_bit_lengths - 4, 4);
      |                     ^~~~~~
visp/modules/core/src/tools/file/basisu_miniz.h:1633:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
 1633 | }
      | ^
visp/modules/core/src/math/matrix/vpMatrix_svd.cpp: In member function ‘void visp::vpMatrix::svdEigen3(visp::vpColVector&, visp::vpMatrix&)’:
visp/modules/core/src/math/matrix/vpMatrix_svd.cpp:643:6: warning: assuming signed overflow does not occur when determining that expression is always non-negative [-Wstrict-overflow]
  643 | void vpMatrix::svdEigen3(vpColVector &w, vpMatrix &V)
      |      ^~~~~~~~
…nstant in comparison [-Wstrict-overflow]

visp/modules/core/src/tools/histogram/vpHistogram.cpp: In member function ‘bool visp::vpHistogram::getPeaks(unsigned char, visp::vpHistogramPeak&, visp::vpHistogramPeak&, visp::vpHistogramValey&)’:
visp/modules/core/src/tools/histogram/vpHistogram.cpp:752:31: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  752 |       for (int j = peak[i]; j <= (peak[index_highest_peak] - dist); ++j) {
      |                             ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/core/src/tools/histogram/vpHistogram.cpp:769:55: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
  769 |       for (int j = peak[index_highest_peak] + dist; j <= peak[i]; ++j) {
      |                                                     ~~^~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:34:
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp: In function ‘std::ostream& visp::operator<<(std::ostream&, const vpForceTorqueAtiSensor&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:282:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  282 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:282:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  282 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:234:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  234 | std::ostream &operator<<(std::ostream &os, const vpForceTorqueAtiSensor &ati)
      |               ^~~~~~~~
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:234:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:234:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:274:34: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  274 |     for (unsigned short i = 0; i < s_calibinfo->rt.NumChannels - 1; i++) {
      |                                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:234:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  234 | std::ostream &operator<<(std::ostream &os, const vpForceTorqueAtiSensor &ati)
      |               ^~~~~~~~
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:270:34: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  270 |     for (unsigned short i = 0; i < s_calibinfo->rt.NumChannels - 1; i++) {
      |                                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
visp/modules/sensor/src/force-torque/vpForceTorqueAtiSensor.cpp:234:15: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  234 | std::ostream &operator<<(std::ostream &os, const vpForceTorqueAtiSensor &ati)
      |               ^~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/visual_features/include/visp3/visual_features/vpFeatureLuminanceMapping.h:36,
                 from visp/modules/visual_features/src/visual-feature/vpFeatureLuminanceMapping.cpp:34:
visp/modules/visual_features/src/visual-feature/vpFeatureLuminanceMapping.cpp: In member function ‘void visp::vpLuminanceDCT::vpMatrixZigZagIndex::init(unsigned int, unsigned int)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/visual_features/src/visual-feature/vpFeatureLuminanceMapping.cpp:600:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  600 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
…g P +- C1 with P +- C2 [-Wstrict-overflow]

In function ‘void visp::open_hash()’,
    inlined from ‘void visp::open_keyword(Keyword*)’ at visp/modules/robot/src/wireframe-simulator/vpKeyword.cpp:81:12:
visp/modules/robot/src/wireframe-simulator/vpKeyword.cpp:106:15: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
  106 |   for (; head < bend; *head++ = NULL) {
      |          ~~~~~^~~~~~
In function ‘void visp::close_hash()’,
    inlined from ‘void visp::close_keyword()’ at visp/modules/robot/src/wireframe-simulator/vpKeyword.cpp:90:38:
visp/modules/robot/src/wireframe-simulator/vpKeyword.cpp:120:15: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
  120 |   for (; head < bend; head++) { /* libere les listes  */
      |          ~~~~~^~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp: In function ‘std::vector<visp::vpImagePoint> tutorial::extractSkeleton(vpTutoCommonData&)’:
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:142:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  142 | }
      | ^
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:142:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:55:55: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   55 | std::vector< VISP_NAMESPACE_ADDRESSING vpImagePoint > extractSkeleton(vpTutoCommonData &data)
      |                                                       ^~~~~~~~~~~~~~~
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:55:55: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:55:55: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:55:55: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:68:23: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   68 |     for (int x = 0; x < widthStop; ++x) {
      |                     ~~^~~~~~~~~~~
visp/tutorial/particle-filter-curve-fitting/vpTutoSegmentation.cpp:91:23: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
   91 |     for (int y = 0; y < heightStop; ++y) {
      |                     ~~^~~~~~~~~~~~
…+- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]

In file included from visp/modules/tracker/klt/src/vpKltOpencv.cpp:42:
visp/modules/tracker/klt/src/vpKltOpencv.cpp: In member function ‘void visp::vpKltOpencv::track(const cv::Mat&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/tracker/klt/src/vpKltOpencv.cpp:324:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  324 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/tracker/klt/src/vpKltOpencv.cpp:117:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  117 | void vpKltOpencv::track(const cv::Mat &I)
      |      ^~~~~~~~~~~
- Cast loop indices to int in vpFeatureMomentCentered::compute_interaction() to avoid unsigned integer arithmetic issues
- Update testFeatureMoment.cpp to correctly handle test failure reporting and update the copyright year.
…porting

- Add checks for list size before iterating in vpPoseFeatures::clear() to prevent
  underflow issues with unsigned int indices when lists are empty
- Update testPoseFeatures.cpp to provide explicit error messages upon test failure
  and improve overall test status output
- Update the copyright year to 2026 in testPoseFeatures.cpp
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 74.42922% with 56 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.43%. Comparing base (8ffc615) to head (631746c).
⚠️ Report is 69 commits behind head on master.

Files with missing lines Patch % Lines
...ules/vision/src/pose-estimation/vpPoseFeatures.cpp 50.00% 5 Missing and 10 partials ⚠️
modules/core/src/image/vpImageConvert.cpp 0.00% 12 Missing ⚠️
...les/imgproc/src/vpCircleHoughTransform_centers.cpp 0.00% 5 Missing ⚠️
modules/tracker/rbt/src/mask/vpColorHistogram.cpp 0.00% 4 Missing ⚠️
...ules/tracker/rbt/src/mask/vpColorHistogramMask.cpp 40.00% 3 Missing ⚠️
...acker/rbt/src/mask/vpCombinedDepthAndColorMask.cpp 0.00% 3 Missing ⚠️
modules/tracker/rbt/src/mask/vpDepthMask.cpp 0.00% 3 Missing ⚠️
...sion/src/homography-estimation/vpHomographyVVS.cpp 0.00% 3 Missing ⚠️
...s/src/visual-feature/vpFeatureLuminanceMapping.cpp 78.57% 0 Missing and 3 partials ⚠️
modules/core/src/image/vpImageDraw.cpp 0.00% 0 Missing and 2 partials ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1989      +/-   ##
==========================================
- Coverage   48.71%   47.43%   -1.28%     
==========================================
  Files         532      532              
  Lines       69404    69435      +31     
  Branches    32434    32437       +3     
==========================================
- Hits        33809    32938     -871     
+ Misses      31443    25910    -5533     
- Partials     4152    10587    +6435     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

fspindle and others added 3 commits July 17, 2026 17:37
In file included from visp/modules/core/include/visp3/core/vpImage.h:42,
                 from visp/modules/io/src/image/private/vpImageIoBackend.h:42,
                 from visp/modules/io/src/image/private/vpImageIoPortable.cpp:39:
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_writePFM_HDR(const vpImage<float>&, const std::string&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/io/src/image/private/vpImageIoPortable.cpp:850:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  850 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_writePFM_HDR(const vpImage<vpRGBf>&, const std::string&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/io/src/image/private/vpImageIoPortable.cpp:850:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  850 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_readPFM_HDR(vpImage<float>&, const std::string&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/io/src/image/private/vpImageIoPortable.cpp:850:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  850 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_readPFM_HDR(vpImage<vpRGBf>&, const std::string&)’:
visp-build-warn-extra/include/visp3/core/vpConfig.h:119:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  119 | #define END_VISP_NAMESPACE }
      |                            ^
visp/modules/io/src/image/private/vpImageIoPortable.cpp:850:1: note: in expansion of macro ‘END_VISP_NAMESPACE’
  850 | END_VISP_NAMESPACE
      | ^~~~~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_writePFM_HDR(const vpImage<float>&, const std::string&)’:
visp/modules/io/src/image/private/vpImageIoPortable.cpp:230:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  230 | void vp_writePFM_HDR(const vpImage<float> &I, const std::string &filename)
      |      ^~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp:230:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp:230:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_writePFM_HDR(const vpImage<vpRGBf>&, const std::string&)’:
visp/modules/io/src/image/private/vpImageIoPortable.cpp:266:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  266 | void vp_writePFM_HDR(const vpImage<vpRGBf> &I, const std::string &filename)
      |      ^~~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp:266:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp:266:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
[ 20%] Building CXX object modules/sensor/CMakeFiles/visp_sensor.dir/src/framegrabber/pylon/vpPylonGrabberUsb.cpp.o
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_readPFM_HDR(vpImage<float>&, const std::string&)’:
visp/modules/io/src/image/private/vpImageIoPortable.cpp:484:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  484 | void vp_readPFM_HDR(vpImage<float> &I, const std::string &filename)
      |      ^~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp:484:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp:484:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp: In function ‘void visp::vp_readPFM_HDR(vpImage<vpRGBf>&, const std::string&)’:
visp/modules/io/src/image/private/vpImageIoPortable.cpp:556:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
  556 | void vp_readPFM_HDR(vpImage<vpRGBf> &I, const std::string &filename)
      |      ^~~~~~~~~~~~~~
visp/modules/io/src/image/private/vpImageIoPortable.cpp:556:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
visp/modules/io/src/image/private/vpImageIoPortable.cpp:556:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants