1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -verify -fblocks -std=c++11 -Wimplicit-fallthrough %s 2*0a6a1f1dSLionel Sambuc fallthrough_in_blocks()3*0a6a1f1dSLionel Sambucvoid fallthrough_in_blocks() { 4*0a6a1f1dSLionel Sambuc void (^block)() = ^{ 5*0a6a1f1dSLionel Sambuc int x = 0; 6*0a6a1f1dSLionel Sambuc switch (x) { 7*0a6a1f1dSLionel Sambuc case 0: 8*0a6a1f1dSLionel Sambuc x++; 9*0a6a1f1dSLionel Sambuc [[clang::fallthrough]]; // no diagnostics 10*0a6a1f1dSLionel Sambuc case 1: 11*0a6a1f1dSLionel Sambuc x++; 12*0a6a1f1dSLionel Sambuc default: // \ 13*0a6a1f1dSLionel Sambuc expected-warning{{unannotated fall-through between switch labels}} \ 14*0a6a1f1dSLionel Sambuc expected-note{{insert 'break;' to avoid fall-through}} 15*0a6a1f1dSLionel Sambuc break; 16*0a6a1f1dSLionel Sambuc } 17*0a6a1f1dSLionel Sambuc }; 18*0a6a1f1dSLionel Sambuc block(); 19*0a6a1f1dSLionel Sambuc } 20