Fix i386 being able to show member variables correctly by not returning empty objecti...
[lldb.git] / lldb / packages / Python / lldbsuite / test / lang / objc / objc-struct-argument / test.m
1 #import <Foundation/Foundation.h>
2
3 struct things_to_sum {
4     int a;
5     int b;
6     int c;
7 };
8
9 @interface ThingSummer : NSObject {
10 };
11 -(int)sumThings:(struct things_to_sum)tts;
12 @end
13
14 @implementation ThingSummer
15 -(int)sumThings:(struct things_to_sum)tts
16 {
17   return tts.a + tts.b + tts.c;
18 }
19 @end
20
21 int main()
22 {
23   @autoreleasepool
24   {
25     ThingSummer *summer = [ThingSummer alloc];
26     struct things_to_sum tts = { 2, 3, 4 };
27     int ret = [summer sumThings:tts];
28     NSRect rect = {{0, 0}, {10, 20}};    
29         // The Objective C V1 runtime won't read types from metadata so we need
30         // NSValue in our debug info to use it in our test.
31         NSValue *v = [NSValue valueWithRect:rect];
32     return rect.origin.x; // Set breakpoint here.
33   }
34 }