| #import <Foundation/Foundation.h> |
| #include <TargetConditionals.h> |
| |
| #if TARGET_OS_IPHONE |
| @import CoreGraphics; |
| typedef CGRect NSRect; |
| #endif |
| |
| struct things_to_sum { |
| int a; |
| int b; |
| int c; |
| }; |
| |
| @interface ThingSummer : NSObject { |
| }; |
| -(int)sumThings:(struct things_to_sum)tts; |
| @end |
| |
| @implementation ThingSummer |
| -(int)sumThings:(struct things_to_sum)tts |
| { |
| return tts.a + tts.b + tts.c; |
| } |
| @end |
| |
| int main() |
| { |
| @autoreleasepool |
| { |
| ThingSummer *summer = [ThingSummer alloc]; |
| struct things_to_sum tts = { 2, 3, 4 }; |
| int ret = [summer sumThings:tts]; |
| NSRect rect = {{0, 0}, {10, 20}}; |
| // The Objective-C V1 runtime won't read types from metadata so we need |
| // NSValue in our debug info to use it in our test. |
| NSValue *v = [NSValue valueWithRect:rect]; |
| return rect.origin.x; // Set breakpoint here. |
| } |
| } |