diff --git a/SConstruct b/SConstruct index cc37f3d5e3c..ce1de2b5a2d 100644 --- a/SConstruct +++ b/SConstruct @@ -502,8 +502,12 @@ if selected_platform in platform_list: if env["werror"]: env.Append(CCFLAGS=["-Werror"]) - else: # always enable those errors - env.Append(CCFLAGS=["-Werror=return-type"]) + if methods.using_gcc(env) and version[0] >= 12: # False positives in our error macros, see GH-58747. + 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"): suffix = "." + detect.get_program_suffix()