28 lines
578 B
Mathematica
28 lines
578 B
Mathematica
|
/* 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 -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" } */
|
||
|
}
|
||
|
}
|
||
|
|