[PowerPC] Collect some CallLowering arguments into a struct. [NFC]
[llvm-project.git] / lldb / packages / Python / lldbsuite / test / lang / objc / objc-struct-argument / test.m
blob6b13a3a3d5951a59cc034152e9a9cfd849ffa949
1 #import <Foundation/Foundation.h>
2 #include <TargetConditionals.h>
4 #if TARGET_OS_IPHONE
5 @import CoreGraphics;
6 typedef CGRect NSRect;
7 #endif
9 struct things_to_sum {
10     int a;
11     int b;
12     int c;
15 @interface ThingSummer : NSObject {
17 -(int)sumThings:(struct things_to_sum)tts;
18 @end
20 @implementation ThingSummer
21 -(int)sumThings:(struct things_to_sum)tts
23   return tts.a + tts.b + tts.c;
25 @end
27 int main()
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   }