1*67e74705SXin Li// Note: the run lines follow their respective tests, since line/column 2*67e74705SXin Li// matter in this test. 3*67e74705SXin Li 4*67e74705SXin Li@interface Foo { 5*67e74705SXin Li void *isa; 6*67e74705SXin Li} 7*67e74705SXin Li@property(copy) Foo *myprop; 8*67e74705SXin Li@property(retain, nonatomic) id xx; 9*67e74705SXin Li 10*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:7:11 %s -fobjc-runtime=macosx-10.4 -fno-objc-arc | FileCheck -check-prefix=CHECK-CC1 -check-prefix=CHECK-CC1-NOWEAK %s 11*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:7:11 %s -fobjc-runtime=macosx-10.8 -Xclang -fobjc-weak -fno-objc-arc | FileCheck -check-prefix=CHECK-CC1 -check-prefix=CHECK-CC1-WEAK %s 12*67e74705SXin Li// CHECK-CC1: {TypedText assign} 13*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText atomic} 14*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText copy} 15*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText getter}{Text =}{Placeholder method} 16*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText nonatomic} 17*67e74705SXin Li// CHECK-CC1: {TypedText nonnull} 18*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText null_resettable} 19*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText null_unspecified} 20*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText nullable} 21*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText readonly} 22*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText readwrite} 23*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText retain} 24*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText setter}{Text =}{Placeholder method} 25*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText strong} 26*67e74705SXin Li// CHECK-CC1-NEXT: {TypedText unsafe_unretained} 27*67e74705SXin Li// CHECK-CC1-NOWEAK-NOT: {TypedText weak} 28*67e74705SXin Li// CHECK-CC1-WEAK-NEXT: {TypedText weak} 29*67e74705SXin Li 30*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:7:11 %s -fobjc-arc -fobjc-runtime=macosx-10.7 | FileCheck -check-prefix=CHECK-CC1-ARC %s 31*67e74705SXin Li// CHECK-CC1-ARC: {TypedText assign} 32*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText atomic} 33*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText copy} 34*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText getter}{Text =}{Placeholder method} 35*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText nonatomic} 36*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText nonnull} 37*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText null_resettable} 38*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText null_unspecified} 39*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText nullable} 40*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText readonly} 41*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText readwrite} 42*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText retain} 43*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText setter}{Text =}{Placeholder method} 44*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText strong} 45*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText unsafe_unretained} 46*67e74705SXin Li// CHECK-CC1-ARC-NEXT: {TypedText weak} 47*67e74705SXin Li 48*67e74705SXin Li// RUN: c-index-test -code-completion-at=%s:8:18 %s | FileCheck -check-prefix=CHECK-CC2 %s 49*67e74705SXin Li// CHECK-CC2: {TypedText getter}{Text =}{Placeholder method} 50*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText nonatomic} 51*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText nonnull} 52*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText null_resettable} 53*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText null_unspecified} 54*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText nullable} 55*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText readonly} 56*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText readwrite} 57*67e74705SXin Li// CHECK-CC2-NEXT: {TypedText setter}{Text =}{Placeholder method} 58*67e74705SXin Li@end 59