27 lines
		
	
	
		
			805 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			805 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fobjc-dispatch-method=mixed -triple i386-apple-darwin10 -emit-llvm -o - %s | FileCheck -check-prefix=CHECK_NEW_DISPATCH %s
 | |
| //
 | |
| // CHECK_NEW_DISPATCH-LABEL: define void @f0
 | |
| // CHECK_NEW_DISPATCH: bitcast {{.*}}objc_msgSend_fixup_alloc
 | |
| // CHECK_NEW_DISPATCH-LABEL: define void @f1
 | |
| // CHECK_NEW_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
 | |
| //
 | |
| // RUN: %clang_cc1 -fobjc-dispatch-method=legacy -emit-llvm -o - %s | FileCheck -check-prefix=CHECK_OLD_DISPATCH %s
 | |
| //
 | |
| // CHECK_OLD_DISPATCH-LABEL: define {{.*}}void @f0
 | |
| // CHECK_OLD_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
 | |
| // CHECK_OLD_DISPATCH-LABEL: define {{.*}}void @f1
 | |
| // CHECK_OLD_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
 | |
| 
 | |
| @interface A
 | |
| +(id) alloc;
 | |
| -(int) im0;
 | |
| @end
 | |
| 
 | |
| void f0(void) {
 | |
|   [A alloc];
 | |
| }
 | |
| 
 | |
| void f1(A *a) {
 | |
|   [a im0];
 | |
| }
 |