mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 19:42:43 +00:00
SCons: Bump minimum supported GCC version to GCC 9
- GCC 7 supports C++17 but seems to have breaking regressions, see #79352. - GCC 8 broke C++17 guaranteed copy elision support, fixed in 8.4, but... - GCC 9 is old enough (2022) to use as a baseline and stop dealing with unmaintained and less efficient compiler versions.
This commit is contained in:
parent
916ea002c1
commit
a04ba55790
20
SConstruct
20
SConstruct
@ -621,22 +621,12 @@ if methods.using_gcc(env):
|
||||
"Couldn't detect compiler version, skipping version checks. "
|
||||
"Build may fail if the compiler doesn't support C++17 fully."
|
||||
)
|
||||
# GCC 8 before 8.4 has a regression in the support of guaranteed copy elision
|
||||
# which causes a build failure: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521
|
||||
elif cc_version_major == 8 and cc_version_minor < 4:
|
||||
elif cc_version_major < 9:
|
||||
print_error(
|
||||
"Detected GCC 8 version < 8.4, which is not supported due to a "
|
||||
"regression in its C++17 guaranteed copy elision support. Use a "
|
||||
'newer GCC version, or Clang 6 or later by passing "use_llvm=yes" '
|
||||
"to the SCons command line."
|
||||
)
|
||||
Exit(255)
|
||||
elif cc_version_major < 7:
|
||||
print_error(
|
||||
"Detected GCC version older than 7, which does not fully support "
|
||||
"C++17. Supported versions are GCC 7, 9 and later. Use a newer GCC "
|
||||
'version, or Clang 6 or later by passing "use_llvm=yes" to the '
|
||||
"SCons command line."
|
||||
"Detected GCC version older than 9, which does not fully support "
|
||||
"C++17, or has bugs when compiling Godot. Supported versions are 9 "
|
||||
"and later. Use a newer GCC version, or Clang 6 or later by passing "
|
||||
'"use_llvm=yes" to the SCons command line.'
|
||||
)
|
||||
Exit(255)
|
||||
elif cc_version_metadata1 == "win32":
|
||||
|
Loading…
Reference in New Issue
Block a user