// RUN: clang-cc -fsyntax-only -verify %s void f() { try { ; } catch(int i) { ; } catch(...) { } } void g() { try; // expected-error {{expected '{'}} try {} catch; // expected-error {{expected '('}} try {} catch (...); // expected-error {{expected '{'}} try {} catch {} // expected-error {{expected '('}} } void h() try { } catch(...) { } struct A { int i; A(int); A(char); A() try : i(0) {} catch(...) {} void f() try {} catch(...) {} A(float) : i(0) try {} // expected-error {{expected '{' or ','}} }; A::A(char) : i(0) try {} // expected-error {{expected '{' or ','}} A::A(int j) try : i(j) {} catch(...) {}