Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
MSVC has implemented a new off-by-default "warning C5262: implicit fall-through occurs here; are you missing a
break
statement? Use[[fallthrough]]
when abreak
statement is intentionally omitted betweencase
s". While we don't attempt to be/Wall
clean in general, this warning is high value (capable of detecting bugs in product code!) and easy to avoid.Much of our C++17-and-later code is already using the
[[fallthrough]]
attribute. For our older code, I'm introducing a_FALLTHROUGH
macro.In
VSO_0226079_mutex
, we can simply avoid fallthrough by repeating a bit of code.Adding
/w15262
totests/universal_prefix.lst
provides comprehensive test coverage.Finally, we need to silence fallthrough warnings in
variant
after_STL_UNREACHABLE
- these are the only occurrences that weren't already commented.Reported as DevCom-10163250 and internal VSO-1644941 / AB#1644941 .