aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/switch-implicit-fallthrough.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2013-01-25 20:44:56 +0000
committerAlexander Kornienko <alexfh@google.com>2013-01-25 20:44:56 +0000
commitc6dcea93b499b504da22f9921fc198423ad0b13b (patch)
tree2e3752a78786fdd85d901a848ef34634cd8278d9 /test/SemaCXX/switch-implicit-fallthrough.cpp
parentf282e72d4d55680dd82f3874b739fe0e02851435 (diff)
Silence unintended fallthrough diagnostic on a case label preceded with a normal label.
Summary: It's unlikely that a fallthrough is unintended in the following code: switch (n) { ... label: case 1: ... goto label; ... } Reviewers: rsmith, doug.gregor Reviewed By: doug.gregor CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D329 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173486 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/switch-implicit-fallthrough.cpp')
-rw-r--r--test/SemaCXX/switch-implicit-fallthrough.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/SemaCXX/switch-implicit-fallthrough.cpp b/test/SemaCXX/switch-implicit-fallthrough.cpp
index 75dda8a961..93e724e86c 100644
--- a/test/SemaCXX/switch-implicit-fallthrough.cpp
+++ b/test/SemaCXX/switch-implicit-fallthrough.cpp
@@ -38,6 +38,18 @@ int fallthrough(int n) {
case 68:
break;
}
+ switch (n / 15) {
+label_case_70:
+ case 70:
+ n += 333;
+ break;
+ case 71:
+ n += 334;
+ goto label_case_70;
+ case 72:
+ n += 335;
+ break;
+ }
switch (n / 20) {
case 7:
n += 400;