xref: /llvm-project/clang/test/PCH/Inputs/cxx11-statement-attributes.h (revision 4f902c7eccd47cc3e1d0ceebca3025406a2e5fa7)
12d4f3116SAlexander Kornienko // To be used with cxx11-statement-attributes.cpp.
22d4f3116SAlexander Kornienko template<const int N>
f(int n)32d4f3116SAlexander Kornienko int f(int n) {
42d4f3116SAlexander Kornienko   switch (n * N) {
52d4f3116SAlexander Kornienko     case 0:
62d4f3116SAlexander Kornienko       n += 15;
72d4f3116SAlexander Kornienko       [[clang::fallthrough]];  // This shouldn't generate a warning.
82d4f3116SAlexander Kornienko     case 1:
92d4f3116SAlexander Kornienko       n += 20;
10*4f902c7eSRichard Smith     case 2:  // This should generate a warning: "unannotated fallthrough"
11*4f902c7eSRichard Smith       n += 35;
122d4f3116SAlexander Kornienko       break;
132d4f3116SAlexander Kornienko   }
142d4f3116SAlexander Kornienko   return n;
152d4f3116SAlexander Kornienko }
16