brintos

brintos / llvm-project-archived public Read only

0
0
Text · 565 B · 10398cb Raw
25 lines · plain
1// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp2// RUN: FileCheck -check-prefix CHECK-LP --input-file=%t-rw.cpp %s3 4@interface Baz5- (id)y;6+ (id)z;7@end8 9@interface Foo {10@public11	int bar;12}13@end14 15extern Foo* x(id a);16 17int f(Baz *baz) {18	int i = x([Baz z])->bar;19        int j = ((Foo*)[Baz z])->bar;20        int k = x([baz y])->bar;21        return i+j+k;22}23 24// CHECK-LP: ((struct Foo_IMPL *)x(((id (*)(id, SEL))(void *)objc_msgSend)(objc_getClass("Baz"), sel_registerName("z"))))->bar25