(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12.4))
list(APPEND _picky_enable
-Wimplicit-fallthrough # clang 4.0 gcc 7.0 appleclang 12.4 # We do silencing for clang 10.0 and above only
+ -Wxor-used-as-pow # clang 10.0 gcc 13.0
)
endif()
else() # gcc
-Wenum-conversion # clang 3.2 gcc 10.0 appleclang 4.6 g++ 11.0
)
endif()
+ if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)
+ list(APPEND _picky_enable
+ -Warray-compare # clang 20.0 gcc 12.0
+ -Wenum-int-mismatch # gcc 13.0
+ -Wxor-used-as-pow # clang 10.0 gcc 13.0
+ )
+ endif()
endif()
#
dnl clang 10 or later
if test "$compiler_num" -ge "1000"; then
tmp_CFLAGS="$tmp_CFLAGS -Wimplicit-fallthrough" # we have silencing markup for clang 10.0 and above only
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [xor-used-as-pow])
fi
fi
;;
CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [enum-conversion])
fi
#
+ dnl Only gcc 12 or later
+ if test "$compiler_num" -ge "1200"; then
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [array-compare])
+ fi
+ #
+ dnl Only gcc 13 or later
+ if test "$compiler_num" -ge "1300"; then
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [enum-int-mismatch])
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [xor-used-as-pow])
+ fi
+ #
fi
#
dnl Do not issue warnings for code in system include paths.