diff --git a/test/SemaCXX/switch-implicit-fallthrough-off-by-default.cpp b/test/SemaCXX/switch-implicit-fallthrough-off-by-default.cpp new file mode 100644 index 0000000000..6ab6370069 --- /dev/null +++ b/test/SemaCXX/switch-implicit-fallthrough-off-by-default.cpp @@ -0,0 +1,13 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -DUNREACHABLE=1 %s +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -DUNREACHABLE=0 -Wimplicit-fallthrough %s + +void fallthrough(int n) { + switch (n) { + case 1: + if (UNREACHABLE) + return; + [[fallthrough]]; // expected-no-diagnostics, only checked when UNREACHABLE=0 + case 2: + break; + } +}