Fixing GCC 4.9 warnings
authorMaksim Shabunin <maksim.shabunin@itseez.com>
Wed, 22 Jul 2015 13:12:31 +0000 (16:12 +0300)
committerMaksim Shabunin <maksim.shabunin@itseez.com>
Wed, 22 Jul 2015 13:12:31 +0000 (16:12 +0300)
3rdparty/libwebp/CMakeLists.txt
modules/imgcodecs/src/grfmt_jpeg.cpp
modules/imgcodecs/src/grfmt_png.cpp
modules/imgproc/test/test_convhull.cpp
modules/imgproc/test/test_distancetransform.cpp
modules/videoio/test/test_positioning.cpp

index 74519ec..12ca16e 100644 (file)
@@ -40,7 +40,7 @@ if(UNIX)
   endif()
 endif()
 
-ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wshadow -Wmaybe-uninitialized)
+ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wunused-function -Wshadow -Wmaybe-uninitialized)
 ocv_warnings_disable(CMAKE_C_FLAGS /wd4244 /wd4267) # vs2005
 
 set_target_properties(${WEBP_LIBRARY}
index efe0058..14a2b41 100644 (file)
@@ -395,7 +395,7 @@ int my_jpeg_load_dht (struct jpeg_decompress_struct *info, unsigned char *dht,
 
 bool  JpegDecoder::readData( Mat& img )
 {
-    bool result = false;
+    volatile bool result = false;
     int step = (int)img.step;
     bool color = img.channels() > 1;
 
@@ -557,7 +557,7 @@ bool JpegEncoder::write( const Mat& img, const std::vector<int>& params )
         fileWrapper() : f(0) {}
         ~fileWrapper() { if(f) fclose(f); }
     };
-    bool result = false;
+    volatile bool result = false;
     fileWrapper fw;
     int width = img.cols, height = img.rows;
 
index 19d3f52..95a605f 100644 (file)
@@ -224,7 +224,7 @@ bool  PngDecoder::readHeader()
 
 bool  PngDecoder::readData( Mat& img )
 {
-    bool result = false;
+    volatile bool result = false;
     AutoBuffer<uchar*> _buffer(m_height);
     uchar** buffer = _buffer;
     int color = img.channels() > 1;
@@ -342,10 +342,10 @@ bool  PngEncoder::write( const Mat& img, const std::vector<int>& params )
 {
     png_structp png_ptr = png_create_write_struct( PNG_LIBPNG_VER_STRING, 0, 0, 0 );
     png_infop info_ptr = 0;
-    FILE* f = 0;
+    FILE * volatile f = 0;
     int y, width = img.cols, height = img.rows;
     int depth = img.depth(), channels = img.channels();
-    bool result = false;
+    volatile bool result = false;
     AutoBuffer<uchar*> buffer;
 
     if( depth != CV_8U && depth != CV_16U )
index e7b2886..116a4ae 100644 (file)
@@ -1426,7 +1426,7 @@ protected:
     void run_func(void);
     int validate_test_results( int test_case_idx );
     double max_noise;
-    float line[6], line0[6];
+    AutoBuffer<float> line, line0;
     int dist_type;
     double reps, aeps;
 };
@@ -1439,11 +1439,6 @@ CV_FitLineTest::CV_FitLineTest()
     max_noise = 0.05;
 }
 
-#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Warray-bounds"
-#endif
-
 void CV_FitLineTest::generate_point_set( void* pointsSet )
 {
     RNG& rng = ts->get_rng();
@@ -1515,14 +1510,12 @@ void CV_FitLineTest::generate_point_set( void* pointsSet )
     }
 }
 
-#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-# pragma GCC diagnostic pop
-#endif
-
 int CV_FitLineTest::prepare_test_case( int test_case_idx )
 {
     RNG& rng = ts->get_rng();
     dims = cvtest::randInt(rng) % 2 + 2;
+    line.allocate(dims * 2);
+    line0.allocate(dims * 2);
     min_log_size = MAX(min_log_size,5);
     max_log_size = MAX(min_log_size,max_log_size);
     int code = CV_BaseShapeDescrTest::prepare_test_case( test_case_idx );
@@ -1543,11 +1536,6 @@ void CV_FitLineTest::run_func()
         cv::fitLine(cv::cvarrToMat(points), (cv::Vec6f&)line[0], dist_type, 0, reps, aeps);
 }
 
-#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Warray-bounds"
-#endif
-
 int CV_FitLineTest::validate_test_results( int test_case_idx )
 {
     int code = CV_BaseShapeDescrTest::validate_test_results( test_case_idx );
@@ -1626,10 +1614,6 @@ _exit_:
     return code;
 }
 
-#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-# pragma GCC diagnostic pop
-#endif
-
 /****************************************************************************************\
 *                                   ContourMoments Test                                  *
 \****************************************************************************************/
index dd3c2e8..7d28428 100644 (file)
@@ -158,7 +158,7 @@ cvTsDistTransform( const CvMat* _src, CvMat* _dst, int dist_type,
     const float init_val = 1e6;
     float mask[3];
     CvMat* temp;
-    int ofs[16];
+    int ofs[16] = {0};
     float delta[16];
     int tstep, count;
 
index 398a160..97d84a4 100644 (file)
@@ -106,7 +106,7 @@ void CV_VideoPositioningTest::generate_idx_seq(CvCapture* cap, int method)
         {
             RNG rng(N);
             idx.clear();
-            for( int i = 0; i < N-1; i++ )
+            for( int i = 0; i > 0 && i < N-1; i++ )
                 idx.push_back(rng.uniform(0, N));
             idx.push_back(N-1);
             std::swap(idx.at(rng.uniform(0, N-1)), idx.at(N-1));