mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Suppress false-positive GCC and clang warnings in test builds
libeigen/eigen!2187 Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
This commit is contained in:
@@ -427,6 +427,17 @@ if (EIGEN_BUILD_TESTING)
|
||||
ei_add_cxx_compiler_flag("-fno-check-new")
|
||||
endif()
|
||||
|
||||
# GCC 12+ emits false-positive -Warray-bounds, -Wmaybe-uninitialized,
|
||||
# -Wstringop-overread, and -Wnonnull warnings at -O2/-O3 in heavily
|
||||
# templated code with mixed static/dynamic sizes. These are well-known
|
||||
# compiler bugs (see GCC PR 109394, 106247, 105329, 98610, among others).
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
ei_add_cxx_compiler_flag("-Wno-array-bounds")
|
||||
ei_add_cxx_compiler_flag("-Wno-maybe-uninitialized")
|
||||
ei_add_cxx_compiler_flag("-Wno-stringop-overread")
|
||||
ei_add_cxx_compiler_flag("-Wno-nonnull")
|
||||
endif()
|
||||
|
||||
|
||||
if(ANDROID_NDK)
|
||||
ei_add_cxx_compiler_flag("-pie")
|
||||
|
||||
@@ -336,6 +336,12 @@ else()
|
||||
set(EIGEN_FASTMATH_FLAGS "/fp:fast")
|
||||
endif()
|
||||
endif()
|
||||
# The fastmath test intentionally uses NaN/infinity under -ffast-math.
|
||||
# Suppress the clang warning about this being technically undefined.
|
||||
check_cxx_compiler_flag("-Wno-nan-infinity-disabled" COMPILER_SUPPORT_WNO_NAN_INF)
|
||||
if(COMPILER_SUPPORT_WNO_NAN_INF)
|
||||
set(EIGEN_FASTMATH_FLAGS "${EIGEN_FASTMATH_FLAGS} -Wno-nan-infinity-disabled")
|
||||
endif()
|
||||
|
||||
ei_add_test(fastmath "${EIGEN_FASTMATH_FLAGS}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user