From 01f8f17b67eb3ebbde5489eb6ee96d332e368d14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 30 Apr 2022 12:06:59 +0200 Subject: [PATCH] SCons: Disable `-Werror=return-type` for GCC 12+ due to regression Works around and thus closes #58747. Supersedes #60613. --- SConstruct | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index af01329933a..1c9ef7d820f 100644 --- a/SConstruct +++ b/SConstruct @@ -618,10 +618,14 @@ if selected_platform in platform_list: env.Append(CXXFLAGS=["-Wno-error=cpp"]) if cc_version_major == 7: # Bogus warning fixed in 8+. env.Append(CCFLAGS=["-Wno-error=strict-overflow"]) + if cc_version_major >= 12: # False positives in our error macros, see GH-58747. + env.Append(CCFLAGS=["-Wno-error=return-type"]) elif methods.using_clang(env) or methods.using_emcc(env): env.Append(CXXFLAGS=["-Wno-error=#warnings"]) - else: # always enable those errors - env.Append(CCFLAGS=["-Werror=return-type"]) + else: # Always enable those errors. + # False positives in our error macros, see GH-58747. + if not (methods.using_gcc(env) and cc_version_major >= 12): + env.Append(CCFLAGS=["-Werror=return-type"]) if hasattr(detect, "get_program_suffix"): suffix = "." + detect.get_program_suffix()