void(^z)(intarg,constchar*format,...)__attribute__((__sentinel__(2)))=^__attribute__((__sentinel__(2)))(intarg,constchar*format,...){};// expected-note {{block has been explicitly marked sentinel here}}
void(^y)(intarg,constchar*format,...)__attribute__((__sentinel__(5)))=^__attribute__((__sentinel__(5)))(intarg,constchar*format,...){};// expected-note {{block has been explicitly marked sentinel here}}
b(1,"%s",(void*)0);// OK
b(1,"%s",0);// expected-warning {{missing sentinel in block call}}
z(1,"%s",4,1,0);// expected-warning {{missing sentinel in block call}}
z(1,"%s",(void*)0,1,0);// OK
y(1,"%s",1,2,3,4,5,6,7);// expected-warning {{missing sentinel in block call}}