| /* APPLE LOCAL radar 5028937 */ |
| #include "../Object2.h" |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| static int made_try = 0; |
| |
| int |
| thrower_try_body() |
| { |
| made_try++; |
| return (0); |
| } |
| |
| static int made_finally = 0; |
| |
| int |
| finally_body() |
| { |
| made_finally++; |
| return (0); |
| } |
| |
| int |
| thrower() |
| { |
| @try |
| { |
| thrower_try_body(); |
| @throw [Object new]; |
| } |
| @finally |
| { |
| finally_body(); |
| } |
| return 0; |
| } |
| |
| static int made_catch = 0; |
| |
| int |
| main(int ac, char *av[]) |
| { |
| @try |
| { |
| thrower(); |
| } |
| @catch (id exc) |
| { |
| made_catch++; |
| [exc free]; |
| } |
| if (made_try != 1) |
| abort (); |
| if (made_finally != 1) |
| abort (); |
| if (made_catch != 1) |
| abort (); |
| return 0; |
| } |