URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [objc.dg/] [try-catch-1.m] - Rev 816
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/Object.h> #include <stdio.h> #include <setjmp.h> @interface Frob: Object @end @implementation Frob: Object @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); } }