1/* Check that the compiler does correctly complain about
2   exceptions being caught by previous @catch blocks.  */
3/* Force the use of NeXT runtime to see that we don't ICE after
4   generating the warning message.  */
5
6/* { dg-do compile } */
7/* { dg-options "-Wall -fnext-runtime -fobjc-exceptions" } */
8
9@interface Exception
10@end
11
12@interface FooException : Exception
13@end
14
15extern void foo();
16
17void test()
18{
19  @try {
20    foo();
21  }
22  @catch (Exception* e) {	/* { dg-warning "earlier handler" } */
23  }
24  @catch (FooException* fe) {	/* { dg-warning "will be caught" } */
25  }
26}
27