From ef2548778c173fe77495a0f41f3c6106c48949a0 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Tue, 24 Apr 2018 14:27:17 +0300 Subject: [PATCH] build: -Wimplicit-fallthrough warning for GCC 7+ only --- cmake/OpenCVCompilerOptions.cmake | 4 +++- modules/videoio/src/cap.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake index b9293df1b6..774103af3a 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake @@ -120,7 +120,9 @@ if(CV_GCC OR CV_CLANG) add_extra_compiler_option(-Wno-unnamed-type-template-args) add_extra_compiler_option(-Wno-comment) if(NOT OPENCV_SKIP_IMPLICIT_FALLTHROUGH - AND NOT " ${CMAKE_CXX_FLAGS} ${OPENCV_EXTRA_FLAGS} ${OPENCV_EXTRA_CXX_FLAGS}" MATCHES "implicit-fallthrough") + AND NOT " ${CMAKE_CXX_FLAGS} ${OPENCV_EXTRA_FLAGS} ${OPENCV_EXTRA_CXX_FLAGS}" MATCHES "implicit-fallthrough" + AND (CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0) + ) add_extra_compiler_option(-Wimplicit-fallthrough=3) endif() if(CV_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 7.2.0) diff --git a/modules/videoio/src/cap.cpp b/modules/videoio/src/cap.cpp index 33f7973636..67e1befca2 100644 --- a/modules/videoio/src/cap.cpp +++ b/modules/videoio/src/cap.cpp @@ -65,7 +65,7 @@ using namespace std; #if defined(__clang__) #pragma clang diagnostic ignored "-Wimplicit-fallthrough" #endif -#if defined(__GNUC__) +#if defined(__GNUC__) && __GNUC__ >= 7 #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif