Don't warn on fall-through from unreachable code.
authorAlexander Kornienko <alexfh@google.com>
Wed, 30 Jan 2013 03:49:44 +0000 (03:49 +0000)
committerAlexander Kornienko <alexfh@google.com>
Wed, 30 Jan 2013 03:49:44 +0000 (03:49 +0000)
commitafed1ddb406afe00cb05360c5b8a01e42db3250d
treebad5ca554804cecba8c95fde77daf4a9e42efcac
parent24f44ac53a2f1c578c50113d402a2cffacfe21d4
Don't warn on fall-through from unreachable code.

Summary:
A motivating example:
class ClassWithDtor {
public:
  ~ClassWithDtor() {}
};
void fallthrough3(int n) {
  switch (n) {
    case 2:
      do {
        ClassWithDtor temp;
        return;
      } while (0);  // This generates a chain of unreachable CFG blocks.
    case 3:
      break;
  }
}

Reviewers: rsmith, doug.gregor, alexfh

Reviewed By: alexfh

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D330

llvm-svn: 173889
clang/lib/Sema/AnalysisBasedWarnings.cpp
clang/test/SemaCXX/switch-implicit-fallthrough.cpp