Worked around an apparent GCC bug in moments.
authorRoman Donchenko <roman.donchenko@itseez.com>
Mon, 17 Feb 2014 12:08:28 +0000 (16:08 +0400)
committerRoman Donchenko <roman.donchenko@itseez.com>
Tue, 18 Feb 2014 09:51:27 +0000 (13:51 +0400)
modules/imgproc/src/moments.cpp

index 784a61b..2fca862 100644 (file)
@@ -197,6 +197,10 @@ static void icvContourMoments( CvSeq* contour, CvMoments* moments )
 \****************************************************************************************/
 
 template<typename T, typename WT, typename MT>
+#if defined __GNUC__ && __GNUC__ == 4 && __GNUC_MINOR__ >= 5 && __GNUC_MINOR__ < 9
+// Workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60196
+__attribute__((optimize("no-tree-vectorize")))
+#endif
 static void momentsInTile( const cv::Mat& img, double* moments )
 {
     cv::Size size = img.size();