-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Update to Clang 10 and Visual Studio 2019 version 16.6p2 #645
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
Conversation
|
So for me I assume that these are exclusively formatting changes in the other files and all functional changes between clang-9 / clang-10 will only come at a later stage? |
StephanTLavavej
left a comment
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 AMAZING
stl/inc/functional
Outdated
| & noexcept(noexcept( // | ||
| _Call_front_binder(_Seq{}, _Mypair._Get_first(), _Mypair._Myval2, _STD forward<_Unbound>(_Unbargs)...))) // | ||
| -> decltype( // | ||
| _Call_front_binder( | ||
| _Seq{}, _Mypair._Get_first(), _Mypair._Myval2, _STD forward<_Unbound>(_Unbargs)...)) { // | ||
| -> decltype( // | ||
| _Call_front_binder(_Seq{}, _Mypair._Get_first(), _Mypair._Myval2, _STD forward<_Unbound>(_Unbargs)...)) { // |
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.
Empty comments were being used here to improve clang-format's behavior. If you remove them, does clang-format 10 do something reasonable-looking now?
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.
I admittedly didn't even read what clang-format did :P
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.
That's what I'm for, to read the output of humans and robots alike, line by repetitive line, until I find the single wrong one.
stl/inc/random
Outdated
| } else if _CONSTEXPR_IF (_Cx <= UINT_MAX | ||
| && static_cast<_Uint>(_Mx - 1) | ||
| <= (UINT_MAX - _Cx) | ||
| / _Ax) { // unsigned int is sufficient to store intermediate calculation |
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.
Now that _CONSTEXPR_IF isn't horribly damaging this formatting, it appears that this comment should be detached to improve readability.
stl/inc/random
Outdated
| <= (ULLONG_MAX - _Cx) / _Ax) { // unsigned long long is sufficient to store | ||
| // intermediate calculation |
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.
Also detach comment?
stl/inc/system_error
Outdated
| _NODISCARD inline error_condition error_category::default_error_condition(int _Errval) const | ||
| noexcept { // make error_condition for error code | ||
| _NODISCARD inline error_condition error_category::default_error_condition( | ||
| int _Errval) const noexcept { // make error_condition for error code |
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.
This comment should be detached according to our modern conventions.
stl/inc/system_error
Outdated
| _NODISCARD inline error_condition error_code::default_error_condition() const | ||
| noexcept { // make error_condition for error code | ||
| _NODISCARD inline error_condition | ||
| error_code::default_error_condition() const noexcept { // make error_condition for error code |
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.
Also detach.
stl/inc/type_traits
Outdated
| template <class _Ty1, class _Ty2> | ||
| struct _Swap_cannot_throw : bool_constant<noexcept(swap(_STD declval<_Ty1>(), _STD declval<_Ty2>())) | ||
| && noexcept(swap(_STD declval<_Ty2>(), _STD declval<_Ty1>()))> { | ||
| struct _Swap_cannot_throw : bool_constant<noexcept(swap(_STD declval<_Ty1>(), _STD declval<_Ty2>()))&& noexcept( |
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.
Ugh, this is a regression in appearance. Add an empty comment to force wrapping before the logical AND?
stl/inc/variant
Outdated
| _NODISCARD constexpr size_t index() const | ||
| noexcept { // index of the contained alternative or variant_npos if valueless_by_exception | ||
| _NODISCARD constexpr size_t | ||
| index() const noexcept { // index of the contained alternative or variant_npos if valueless_by_exception |
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.
Detach comment.
Correct, except I'm going to have to make 2 functional changes to tests to make them pass. |
Fixes for the feature-test macro test are |
|
They're XPASSing. It looks like there's improvement needed in the errors I output from the test harness in that case. |
Ah: |
* re-clang-formats the tree to comply with new clang 10 clang-format * updates our agents to F series VMs which are faster and cheaper for our build workloads * defaults scale set to 0 VMs and lets the Azure Pipelines service control all resizing * fix tests to pass with the new compilers Co-authored by Casey Carter and Curtis Bezault
366d3ab to
a586c0c
Compare
|
I observe that it's difficult to review changes when you squash away history 😿 |
|
Fortunately everything looks good (GitHub at least remembers which files have been Viewed and are unchanged). Thanks. |
Sorry, without squashing it was getting awkward to apply to the msvc repo :/ |
|
I'm not sure how you port changes from GitHub to MSVC, but I've found that I can port arbitrarily complex histories to MSVC. As long as the GitHub branch is either rebased or merged with the latest |
This was skipped by microsoftGH-682 on 2020-04-09. At the time, we were using VS 2019 16.6 Preview 2 (microsoftGH-645 merged on 2020-03-28). Now we're using VS 2019 16.8 Preview 1, and I can't reproduce this ICE locally. I ran x86 and x64, 30 times each, and they all passed. Let's try restoring this configuration.
Co-authored by Casey Carter and Curtis Bezault