// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -fexceptions -verify %s
voidfunc1(inti){// expected-note{{previous definition is here}}
int i;// expected-error{{redefinition of 'i'}}
}voidfunc2(inti)try{// expected-note{{previous definition is here}}
int i;// expected-error{{redefinition of 'i'}}
}catch(...){}voidfunc3(inti)try{// expected-note {{previous definition is here}}
}catch(int i){// expected-error {{redefinition of 'i'}}
}voidfunc4(inti)try{// expected-note{{previous definition is here}}
}catch(...){int i;// expected-error{{redefinition of 'i'}}
}voidfunc5()try{int i;}catch(...){int j = i;// expected-error{{use of undeclared identifier 'i'}}
}voidfunc6()try{}catch(int i){// expected-note{{previous definition is here}}
int i;// expected-error{{redefinition of 'i'}}
}voidfunc7(){try{}catch(int i){// expected-note{{previous definition is here}}
int i;// expected-error{{redefinition of 'i'}}
}}voidfunc8(){int i;try{int i;}catch(...){}}voidfunc9(){if(bool b =true)try{int b;// FIXME: this probably should be invalid, maybe
}catch(...){}}voidfunc10(){if(bool b =true)if(true){int b;// FIXME: decide whether this is valid
}}voidfunc11(inta){try{}catch(int a){// OK
}}