-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: update bootstrap req to C++14 #3294
build: update bootstrap req to C++14 #3294
Conversation
The warnings changes are harmless (most of them are texi offsets). |
Thanks. Per "Some checks were not successful", "Details", please update the |
02bf1e9
to
70d9122
Compare
Should I update the ChangeLog in the cherry-pick, or do a followup for updating the expected warnings? |
You mean "[...] update the [ (Over here, we don't maintain the |
da7b633
to
57ac30a
Compare
Actually, it makes more sense here to put the |
# When bootstrapping with GCC, build stage 1 in C++14 mode to ensure that a | ||
# C++14 compiler can still start the bootstrap. Otherwise, if building GCC, | ||
# require C++14 (or higher). | ||
if test "$enable_bootstrap:$GXX" = "yes:yes"; then | ||
CXX="$CXX -std=c++11" | ||
CXX="$CXX -std=c++14" | ||
elif test "$have_compiler" = yes; then | ||
AX_CXX_COMPILE_STDCXX(11) | ||
AX_CXX_COMPILE_STDCXX(14) | ||
|
||
if test "${build}" != "${host}"; then | ||
AX_CXX_COMPILE_STDCXX(11, [], [], [_FOR_BUILD]) | ||
AX_CXX_COMPILE_STDCXX(14, [], [], [_FOR_BUILD]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so I'm not sure I understand this bit - is that change upstream already? is it gccrs specific?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upstream already, see the last paragraph of #3294 (comment):
This cherry-picks r15-4719-ga9ec1bc06bd3cc so the GCC 5 bot is happy when we actually use C++14 features (see #3278).
@thesamesam, via #3295 "ci: Update expected warnings list for 32 bits build", |
dc44010
to
c7ab81b
Compare
We moved to a bootstrap requirement of C++11 in GCC 11, 8 years after support was stable in GCC 4.8. It is now 8 years since C++14 was the default mode in GCC 6 (and 9 years since support was complete in GCC 5), and we have a few bits of optional C++14 code in the compiler, so it seems a good time to update the bootstrap requirement again. The big benefit of the change is the greater constexpr power, but C++14 also added variable templates, generic lambdas, lambda init-capture, binary literals, and numeric literal digit separators. C++14 was feature-complete in GCC 5, and became the default in GCC 6. 5.4.0 bootstraps trunk correctly; trunk stage1 built with 5.3.0 breaks in eh_data_format_name due to PR69995. gcc/ChangeLog: * doc/install.texi (Prerequisites): Update to C++14. ChangeLog: * configure.ac: Update requirement to C++14. * configure: Regenerate.
ChangeLog: * .github/glibcxx_ubuntu64b_log_expected_warnings: Update. * .github/log_expected_warnings: Update.
c7ab81b
to
78b1e6f
Compare
Thanks all, and sorry for forgetting this originally. |
We moved to a bootstrap requirement of C++11 in GCC 11, 8 years after support was stable in GCC 4.8.
It is now 8 years since C++14 was the default mode in GCC 6 (and 9 years since support was complete in GCC 5), and we have a few bits of optional C++14 code in the compiler, so it seems a good time to update the bootstrap requirement again.
The big benefit of the change is the greater constexpr power, but C++14 also added variable templates, generic lambdas, lambda init-capture, binary literals, and numeric literal digit separators.
C++14 was feature-complete in GCC 5, and became the default in GCC 6. 5.4.0 bootstraps trunk correctly; trunk stage1 built with 5.3.0 breaks in eh_data_format_name due to PR69995.
gcc/ChangeLog:
ChangeLog:
This cherry-picks r15-4719-ga9ec1bc06bd3cc so the GCC 5 bot is happy when we actually use C++14 features (see #3278).