nickdesaulniers updated this revision to Diff 307218.
nickdesaulniers added a comment.
- git-clang-format HEAD~
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91895/new/
https://reviews.llvm.org/D91895
Files:
clang/lib/Sema/AnalysisBasedWarnings.
nickdesaulniers updated this revision to Diff 307217.
nickdesaulniers added a comment.
- rewrite to handle a few more cases from the Linux kernel
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91895/new/
https://reviews.llvm.org/D91895
Files:
cla
nickdesaulniers added a comment.
And for `drivers/hid/usbhid/hid-core.c` it looks like multiple labels are
modeled as individual blocks in the control flow graph.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91895/new/
https://reviews.llvm.org/D9
nickdesaulniers added a comment.
Testing this on the kernel with `-Wimplicit-fallthrough`, there's some
additional cases that are still warning:
// mm/vmscan.c
1371 mapping = page_mapping(page);
nickdesaulniers updated this revision to Diff 306787.
nickdesaulniers added a comment.
- check the successor's terminator
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D91895/new/
https://reviews.llvm.org/D91895
Files:
clang/lib/Sema/AnalysisBase
nickdesaulniers added inline comments.
Comment at: clang/lib/Sema/AnalysisBasedWarnings.cpp:1156
+ const CFGBlock::AdjacentBlock &Succ = *P->succ_begin();
+ const Stmt *Term = B.getTerminatorStmt();
+ if (Succ->size() == 0 && Term && isa(Term))
nickdesaulniers created this revision.
nickdesaulniers added reviewers: rsmith, aaron.ballman.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
nickdesaulniers requested review of this revision.
Clang differs slightly than GCC for the pattern:
switch (x) {
case 0:
++x