obs-studio-browser/0001-Enforce_-Wmaybe-uninitialized_never_turn_into_error.patch
Knut Ahlers 2ec7c740e4
obs-studio-browser v29.1.0
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-05-07 15:46:17 +02:00

53 lines
2.3 KiB
Diff

From 6acef4edf8ec353313f84103162c3064ecd2efb6 Mon Sep 17 00:00:00 2001
From: tytan652 <tytan652@tytanium.xyz>
Date: Thu, 4 May 2023 11:07:52 +0200
Subject: [PATCH] cmake: Enforce -Wmaybe-uninitialized to never turn into an
error
---
cmake/Modules/CompilerConfig.cmake | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/cmake/Modules/CompilerConfig.cmake b/cmake/Modules/CompilerConfig.cmake
index 41c56da8b4cee..849d19de75ccf 100644
--- a/cmake/Modules/CompilerConfig.cmake
+++ b/cmake/Modules/CompilerConfig.cmake
@@ -100,6 +100,13 @@ else()
endif()
option(CALM_DEPRECATION "Keep deprecated-declarations as warnings" OFF)
+ #[[
+ Note about -Wmaybe-uninitialized on GCC, this warning seems to be subject of various regressions and false positives. This
+ warning is set to not turn into an error.
+
+ - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562 for 12.1.0
+ - https://github.com/obsproject/obs-studio/issues/8850 for 13.1.1
+ ]]
add_compile_options(
-Werror
-Wextra
@@ -117,19 +124,13 @@ else()
"$<$<CONFIG:DEBUG>:-DDEBUG=1;-D_DEBUG=1>"
"$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>"
"$<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>"
- "$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wconversion-null>"
+ "$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wconversion-null;-Wno-error=maybe-uninitialized>"
+ "$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-error=maybe-uninitialized>"
"$<$<BOOL:${CALM_DEPRECATION}>:-Wno-error=deprecated-declarations>")
- if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- # GCC on aarch64 emits type-limits warnings that do not appear on x86_64
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
- add_compile_options(-Wno-error=type-limits)
- endif()
-
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562
- if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "12.1.0")
- add_compile_options(-Wno-error=maybe-uninitialized)
- endif()
+ # GCC on aarch64 emits type-limits warnings that do not appear on x86_64
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ add_compile_options(-Wno-error=type-limits)
endif()
if(OBS_CODESIGN_LINKER)