1#import <Foundation/Foundation.h> 2#include <TargetConditionals.h> 3 4#if TARGET_OS_IPHONE 5@import CoreGraphics; 6typedef CGRect NSRect; 7#endif 8 9struct things_to_sum { 10 int a; 11 int b; 12 int c; 13}; 14 15@interface ThingSummer : NSObject { 16}; 17-(int)sumThings:(struct things_to_sum)tts; 18@end 19 20@implementation ThingSummer 21-(int)sumThings:(struct things_to_sum)tts 22{ 23 return tts.a + tts.b + tts.c; 24} 25@end 26 27int main() 28{ 29 @autoreleasepool 30 { 31 ThingSummer *summer = [ThingSummer alloc]; 32 struct things_to_sum tts = { 2, 3, 4 }; 33 int ret = [summer sumThings:tts]; 34 NSRect rect = {{0, 0}, {10, 20}}; 35 // The Objective-C V1 runtime won't read types from metadata so we need 36 // NSValue in our debug info to use it in our test. 37 NSValue *v = [NSValue valueWithRect:rect]; 38 return rect.origin.x; // Set breakpoint here. 39 } 40} 41