/* APPLE LOCAL file mainline */
/* Check that the compiler does correctly complain about
   exceptions being caught by previous @catch blocks.  */
/* Force the use of NeXT runtime to see that we don't ICE after
   generating the warning message.  */

/* { dg-do compile } */
/* { dg-options "-Wall -fnext-runtime -fobjc-exceptions" } */

@interface Exception
@end

@interface FooException : Exception
@end

extern void foo();

void test()
{
    @try {
        foo();
    }
    @catch (Exception* e) {	/* { dg-warning "earlier handler" } */
    }
    @catch (FooException* fe) {	/* { dg-warning "will be caught" } */
    }
}

