forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
// RUN: %clang_cc1 %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
 | 
						|
// RUN: grep "_Block_object_dispose" %t | count 6
 | 
						|
// RUN: grep "__copy_helper_block_" %t | count 4
 | 
						|
// RUN: grep "__destroy_helper_block_" %t | count 4
 | 
						|
// RUN: grep "__Block_byref_object_copy_" %t | count 2
 | 
						|
// RUN: grep "__Block_byref_object_dispose_" %t | count 2
 | 
						|
// RUN: grep "i32 135)" %t | count 0
 | 
						|
// RUN: grep "_Block_object_assign" %t | count 4
 | 
						|
// RUN: grep "objc_read_weak" %t | count 2
 | 
						|
// RUN: grep "objc_assign_weak" %t | count 3
 | 
						|
// RUN: %clang_cc1 -x objective-c++ %s -emit-llvm -o %t -fobjc-gc -fblocks -triple i386-apple-darwin10
 | 
						|
// RUN: grep "_Block_object_dispose" %t | count 6
 | 
						|
// RUN: grep "__copy_helper_block_" %t | count 4
 | 
						|
// RUN: grep "__destroy_helper_block_" %t | count 4
 | 
						|
// RUN: grep "__Block_byref_object_copy_" %t | count 2
 | 
						|
// RUN: grep "__Block_byref_object_dispose_" %t | count 2
 | 
						|
// RUN: grep "i32 135)" %t | count 0
 | 
						|
// RUN: grep "_Block_object_assign" %t | count 4
 | 
						|
// RUN: grep "objc_read_weak" %t | count 2
 | 
						|
// RUN: grep "objc_assign_weak" %t | count 3
 | 
						|
 | 
						|
@interface NSDictionary @end
 | 
						|
 | 
						|
void test1(NSDictionary * dict) {
 | 
						|
  ^{ (void)dict; }();
 | 
						|
}
 | 
						|
 | 
						|
@interface D
 | 
						|
@end
 | 
						|
 | 
						|
void foo() {
 | 
						|
  __block __weak D *weakSelf;
 | 
						|
  D *l;
 | 
						|
  l = weakSelf;
 | 
						|
  weakSelf = l;
 | 
						|
}
 | 
						|
 | 
						|
void (^__weak b)(void);
 | 
						|
 | 
						|
void test2() {
 | 
						|
  __block int i = 0;
 | 
						|
  b = ^ {  ++i; };
 | 
						|
}
 |