blob: 6a0acd13dcb3219d0ea5aae76db77db605d6828e [file] [log] [blame]
Fariborz Jahanianb384d322007-10-04 20:19:06 +00001// RUN: clang -fsyntax-only -verify %s
2
Fariborz Jahanian397fcc12007-09-19 19:14:32 +00003void * proc();
4
5@interface Frob
6@end
7
8@interface Frob1
9@end
10
11void * foo()
12{
13 @try {
14 return proc();
15 }
16 @catch (Frob* ex) {
17 @throw;
18 }
19 @catch (Frob1* ex) {
20 @throw proc();
21 }
22 @finally {
23 @try {
24 return proc();
25 }
26 @catch (Frob* ex) {
Fariborz Jahanianb384d322007-10-04 20:19:06 +000027 @throw 1,2;
Fariborz Jahanian397fcc12007-09-19 19:14:32 +000028 }
29 @catch(...) {
30 @throw (4,3,proc());
31 }
32 }
33
34 @try { // expected-error {{@try statment without a @catch and @finally clause}}
35 return proc();
36 }
37}
38