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