From 5bacd8753bc3add73f8f6cee9534c632de126d73 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Tue, 10 Jan 2023 00:59:58 +0000 Subject: [PATCH] build: eliminate GCC9 warning from sift.simd.hpp --- modules/features2d/src/sift.simd.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/features2d/src/sift.simd.hpp b/modules/features2d/src/sift.simd.hpp index 8a038612c4..d2fe0bb429 100644 --- a/modules/features2d/src/sift.simd.hpp +++ b/modules/features2d/src/sift.simd.hpp @@ -807,11 +807,18 @@ if( dstMat.type() == CV_32F ) __dst = v_min(v_max(v_cvt_f32(v_round(__dst * __nrm2)), __min), __max); v_store(dst + k, __dst); } +#endif +#if defined(__GNUC__) && __GNUC__ >= 9 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations" // iteration XX invokes undefined behavior #endif for( ; k < len; k++ ) { dst[k] = saturate_cast(rawDst[k]*nrm2); } +#if defined(__GNUC__) && __GNUC__ >= 9 +#pragma GCC diagnostic pop +#endif } else // CV_8U { @@ -831,9 +838,8 @@ else // CV_8U #endif #if defined(__GNUC__) && __GNUC__ >= 9 -// avoid warning "iteration 7 invokes undefined behavior" on Linux ARM64 #pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations" +#pragma GCC diagnostic ignored "-Waggressive-loop-optimizations" // iteration XX invokes undefined behavior #endif for( ; k < len; k++ ) {