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

Works around and thus closes #58747.
Supersedes #60613.
This commit is contained in:
Rémi Verschelde 2022-04-30 12:06:59 +02:00
parent e619e0e4d4
commit 01f8f17b67
1 changed files with 6 additions and 2 deletions

View File

@ -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()