Fix/unify the spelling of Objective-C.
[lldb.git] / lldb / packages / Python / lldbsuite / test / lang / objc / objc-struct-argument / test.m
1 #import <Foundation/Foundation.h>
2 #include <TargetConditionals.h>
3
4 #if TARGET_OS_IPHONE
5 @import CoreGraphics;
6 typedef CGRect NSRect;
7 #endif
8
9 struct 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
27 int 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 }