Small refactoring: replace some if-else cascades with switches so that the compiler warns us about missing cases.
Maybe found a small bug?
Details
Diff Detail
- Repository
- rCRT Compiler Runtime
Event Timeline
lib/tsan/rtl/tsan_suppressions.cc | ||
---|---|---|
96 | Should this be kSuppressionSignal? |
lib/tsan/rtl/tsan_debugging.cc | ||
---|---|---|
41 | @yln I'd feel slightly happier by having UNREACHABLE("Unhandled case"); after the switch block (i.e. don't add a default case) so that if we do fall through (because someone missed a compiler warning, or perhaps they have warnings turned off) we stop execution rather than having undefined behaviour (reach end of function but no return statement). This applies to all the switch blocks you've added. I won't insist on this but if you think this a reasonable change that doesn't clutter things too much then I think you should do it. |
lib/tsan/rtl/tsan_debugging.cc | ||
---|---|---|
41 | Good point! Thanks for the review, Dan. | |
lib/tsan/rtl/tsan_suppressions.cc | ||
96 | @dvyukov @kubamracek: can you please confirm that this is intentional and not an oversight? |
@yln I'd feel slightly happier by having UNREACHABLE("Unhandled case"); after the switch block (i.e. don't add a default case) so that if we do fall through (because someone missed a compiler warning, or perhaps they have warnings turned off) we stop execution rather than having undefined behaviour (reach end of function but no return statement).
This applies to all the switch blocks you've added.
I won't insist on this but if you think this a reasonable change that doesn't clutter things too much then I think you should do it.