SCons: Disable -Werror=return-type for GCC 12+ due to regression

Works around and thus closes #58747.
Supersedes #60613.

(cherry picked from commit 01f8f17b67eb3ebbde5489eb6ee96d332e368d14)
This commit is contained in:
Rémi Verschelde 2022-04-30 12:06:59 +02:00 committed by Relintai
parent 4ca6458457
commit 721c41ee47

View File

@ -512,8 +512,12 @@ if selected_platform in platform_list:
if env["werror"]: if env["werror"]:
env.Append(CCFLAGS=["-Werror"]) env.Append(CCFLAGS=["-Werror"])
else: # always enable those errors if methods.using_gcc(env) and version[0] >= 12: # False positives in our error macros, see GH-58747.
env.Append(CCFLAGS=["-Werror=return-type"]) env.Append(CCFLAGS=["-Wno-error=return-type"])
else: # Always enable those errors.
# False positives in our error macros, see GH-58747.
if not (methods.using_gcc(env) and version[0] >= 12):
env.Append(CCFLAGS=["-Werror=return-type"])
if hasattr(detect, "get_program_suffix"): if hasattr(detect, "get_program_suffix"):
suffix = "." + detect.get_program_suffix() suffix = "." + detect.get_program_suffix()