[llvm] [cmake] Disable all -Wuninitialized warnings on GCC older than 12. (PR #76251)
Jacek Caban via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 22 08:24:02 PST 2023
https://github.com/cjacek created https://github.com/llvm/llvm-project/pull/76251
As discussed in #75183, avoids dealing with GCC false positives.
>From dcf9005180a81840d8815b68384986136854c169 Mon Sep 17 00:00:00 2001
From: Jacek Caban <jacek at codeweavers.com>
Date: Fri, 22 Dec 2023 17:12:09 +0100
Subject: [PATCH] [cmake] Disable all -Wuninitialized warnings on GCC older
than 12.
---
llvm/cmake/config-ix.cmake | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
index 7bb3e98333effb..3e12213f6e6b5d 100644
--- a/llvm/cmake/config-ix.cmake
+++ b/llvm/cmake/config-ix.cmake
@@ -431,15 +431,13 @@ set(USE_NO_UNINITIALIZED 0)
# Disable gcc's potentially uninitialized use analysis as it presents lots of
# false positives.
if (CMAKE_COMPILER_IS_GNUCXX)
- check_cxx_compiler_flag("-Wmaybe-uninitialized" HAS_MAYBE_UNINITIALIZED)
- if (HAS_MAYBE_UNINITIALIZED)
- set(USE_NO_MAYBE_UNINITIALIZED 1)
- else()
- # Only recent versions of gcc make the distinction between -Wuninitialized
- # and -Wmaybe-uninitialized. If -Wmaybe-uninitialized isn't supported, just
- # turn off all uninitialized use warnings.
+ # Disable all -Wuninitialized warning for old GCC versions.
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0)
check_cxx_compiler_flag("-Wuninitialized" HAS_UNINITIALIZED)
set(USE_NO_UNINITIALIZED ${HAS_UNINITIALIZED})
+ else()
+ check_cxx_compiler_flag("-Wmaybe-uninitialized" HAS_MAYBE_UNINITIALIZED)
+ set(USE_NO_MAYBE_UNINITIALIZED ${HAS_MAYBE_UNINITIALIZED})
endif()
endif()
More information about the llvm-commits
mailing list