1*9ed4a94dSNathan Chancellor // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -Wimplicit-fallthrough -Wunreachable-code-fallthrough %s 27532d379SRichard Smith // expected-no-diagnostics 37532d379SRichard Smith 47532d379SRichard Smith template<bool param> fallthrough_template(int i)57532d379SRichard Smithint fallthrough_template(int i) 67532d379SRichard Smith { 77532d379SRichard Smith switch (i) { 87532d379SRichard Smith case 1: 97532d379SRichard Smith if (param) 107532d379SRichard Smith return 3; 117532d379SRichard Smith [[clang::fallthrough]]; // no warning here, for an unreachable annotation (in the fallthrough_template<true> case) in a template function 127532d379SRichard Smith case 2: 137532d379SRichard Smith return 4; 147532d379SRichard Smith default: 157532d379SRichard Smith return 5; 167532d379SRichard Smith } 177532d379SRichard Smith } 187532d379SRichard Smith 197532d379SRichard Smith template int fallthrough_template<true>(int); 207532d379SRichard Smith 21