1*4d3d785eSRichard Smith // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -DUNREACHABLE=1 %s
2*4d3d785eSRichard Smith // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 -DUNREACHABLE=0 -Wimplicit-fallthrough %s
3*4d3d785eSRichard Smith 
fallthrough(int n)4*4d3d785eSRichard Smith void fallthrough(int n) {
5*4d3d785eSRichard Smith   switch (n) {
6*4d3d785eSRichard Smith   case 1:
7*4d3d785eSRichard Smith     if (UNREACHABLE)
8*4d3d785eSRichard Smith       return;
9*4d3d785eSRichard Smith     [[fallthrough]]; // expected-no-diagnostics, only checked when UNREACHABLE=0
10*4d3d785eSRichard Smith   case 2:
11*4d3d785eSRichard Smith     break;
12*4d3d785eSRichard Smith   }
13*4d3d785eSRichard Smith }
14