+++ /dev/null
-// RUN: %clang_cc1 -emit-llvm -o %t %s
-
-@interface Object
-- (id) new;
-@end
-
-typedef struct {int x, y, w, h;} st1;
-typedef struct {int x, y, w, h;} st2;
-
-@interface bar : Object
-- (void)setFrame:(st1)frameRect;
-@end
-
-@interface bar1 : Object
-- (void)setFrame:(int)frameRect;
-@end
-
-@interface foo : Object
-{
- st2 ivar;
-}
-@property (assign) st2 frame;
-@end
-
-@implementation foo
-@synthesize frame = ivar;
-@end
-
-extern void abort();
-
-static st2 r = {1,2,3,4};
-st2 test (void)
-{
- foo *obj = [foo new];
- id objid = [foo new];;
-
- obj.frame = r;
-
- ((foo*)objid).frame = obj.frame;
-
- return ((foo*)objid).frame;
-}
-
-int main ()
-{
- st2 res = test ();
- if (res.x != 1 || res.h != 4)
- abort();
- return 0;
-}