1 // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -Wimplicit-fallthrough %s
2 // expected-no-diagnostics
3 
4 template<bool param>
fallthrough_template(int i)5 int fallthrough_template(int i)
6 {
7   switch (i) {
8     case 1:
9       if (param)
10         return 3;
11       [[clang::fallthrough]]; // no warning here, for an unreachable annotation (in the fallthrough_template<true> case) in a template function
12     case 2:
13       return 4;
14     default:
15       return 5;
16   }
17 }
18 
19 template int fallthrough_template<true>(int);
20 
21