| /* APPLE LOCAL file 4174405 */ |
| /* { dg-options "-Os -mdynamic-no-pic -fobjc-exceptions -framework Cocoa" } */ |
| /* { dg-do run } */ |
| // /usr/bin/gcc-4.0 -x objective-c -arch i386 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Wreturn-type -Wunused-variable -fmessage-length=0 fvisibility=hidden -mdynamic-no-pic -framework Cocoa exceptionCodeGen.m |
| |
| #import <Foundation/Foundation.h> |
| |
| @interface MyObject : NSObject |
| { |
| } |
| |
| @end |
| |
| @implementation MyObject |
| |
| - (void)subMethod:(id)sender; |
| { |
| NSLog(@"subMethod"); |
| } |
| |
| - (void)doSomething; |
| { |
| [self subMethod:nil]; |
| } |
| |
| @end |
| |
| int main(int argc, char *argv[]) |
| { |
| NSAutoreleasePool *pool = [NSAutoreleasePool new]; |
| |
| NSLog(@"Hello, world!"); |
| |
| MyObject *object = [[MyObject alloc] init]; |
| |
| NSException *exception = nil; |
| |
| SEL selector = @selector(doSomething); |
| |
| NSInvocation *invocation = nil; |
| |
| invocation = [NSInvocation invocationWithMethodSignature:[object methodSignatureForSelector:selector]]; |
| [invocation setTarget:object]; |
| [invocation setSelector:selector]; |
| [invocation retainArguments]; |
| |
| NS_DURING |
| [invocation invoke]; |
| NS_HANDLER |
| exception = localException; |
| NS_ENDHANDLER |
| |
| [exception raise]; |
| |
| NSLog(@"Goodbye, world!"); |
| |
| [pool release]; |
| |
| exit(0); |
| return 0; |
| } |
| /* { dg-xfail-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */ |