29 lines
		
	
	
		
			633 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			633 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -triple thumbv7--windows-itanium -fobjc-runtime=ios -emit-llvm -o - %s -Wno-objc-root-class | FileCheck %s
 | |
| 
 | |
| @protocol P
 | |
| - (void) method;
 | |
| @end
 | |
| 
 | |
| @protocol Q @end
 | |
| @protocol R @end
 | |
| 
 | |
| @interface I<P>
 | |
| @end
 | |
| 
 | |
| @implementation I
 | |
| - (void) method { }
 | |
| @end
 | |
| 
 | |
| _Bool f(void) {
 | |
|   return @protocol(Q) == @protocol(R);
 | |
| }
 | |
| 
 | |
| // CHECK: $"_OBJC_PROTOCOL_$_P" = comdat any
 | |
| // CHECK: $"_OBJC_LABEL_PROTOCOL_$_P" = comdat any
 | |
| // CHECK: $"_OBJC_PROTOCOL_REFERENCE_$_Q" = comdat any
 | |
| // CHECK: $"_OBJC_PROTOCOL_REFERENCE_$_R" = comdat any
 | |
| 
 | |
| // CHECK: @"_OBJC_PROTOCOL_$_P" = {{.*}}, comdat
 | |
| // CHECK: @"_OBJC_LABEL_PROTOCOL_$_P" = {{.*}}, comdat
 | |
| 
 |