HomePhabricator

Fix clang -Wimplicit-fallthrough warnings across llvm, NFC

Description

Fix clang -Wimplicit-fallthrough warnings across llvm, NFC

This patch should not introduce any behavior changes. It consists of
mostly one of two changes:

  1. Replacing fall through comments with the LLVM_FALLTHROUGH macro
  2. Inserting 'break' before falling through into a case block consisting of only 'break'.

We were already using this warning with GCC, but its warning behaves
slightly differently. In this patch, the following differences are
relevant:

  1. GCC recognizes comments that say "fall through" as annotations, clang doesn't
  2. GCC doesn't warn on "case N: foo(); default: break;", clang does
  3. GCC doesn't warn when the case contains a switch, but falls through the outer case.

I will enable the warning separately in a follow-up patch so that it can
be cleanly reverted if necessary.

Reviewers: alexfh, rsmith, lattner, rtrieu, EricWF, bollu

Differential Revision: https://reviews.llvm.org/D53950

Details

Committed
rnkNov 1 2018, 12:54 PM
Differential Revision
D53950: Fix clang -Wimplicit-fallthrough warnings across llvm, NFC
Branches
Unknown
Tags
Unknown