URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [objc.dg/] [try-catch-1.m] - Rev 704
Compare with Previous | Blame | View Log
/* Test if the compiler accepts @throw / @try..@catch..@finally syntax. */ /* Developed by Ziemowit Laski <zlaski@apple.com>. */ /* { dg-options "-fobjc-exceptions" } */ /* { dg-do compile } */ #include "../objc-obj-c++-shared/TestsuiteObject.h" #include <stdio.h> #include <setjmp.h> @interface Frob: TestsuiteObject @end @implementation Frob: TestsuiteObject @end static int exc_control = 0; int proc() { if(exc_control) { printf ("Throwing (%d)... ", exc_control); @throw [Frob new]; } return 1; } int foo() { @try { return proc(); } @catch (Frob* ex) { if(exc_control > 1) { printf("Rethrowing (%d)... ", exc_control); @throw; } return 0; } @finally { printf("In @finally block (%d)... ", exc_control); } }