]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenObjC/protocol-comdat.m
Vendor import of clang trunk r306956:
[FreeBSD/FreeBSD.git] / test / CodeGenObjC / protocol-comdat.m
1 // RUN: %clang -cc1 -triple thumbv7--windows-itanium -fobjc-runtime=ios -emit-llvm -o - %s -Wno-objc-root-class | FileCheck %s
2
3 @protocol P
4 - (void) method;
5 @end
6
7 @protocol Q;
8 @protocol R;
9
10 @interface I<P>
11 @end
12
13 @implementation I
14 - (void) method { }
15 @end
16
17 _Bool f(void) {
18   return @protocol(Q) == @protocol(R);
19 }
20
21 // CHECK: $"\01l_OBJC_PROTOCOL_$_P" = comdat any
22 // CHECK: $"\01l_OBJC_LABEL_PROTOCOL_$_P" = comdat any
23 // CHECK: $"\01l_OBJC_PROTOCOL_REFERENCE_$_Q" = comdat any
24 // CHECK: $"\01l_OBJC_PROTOCOL_REFERENCE_$_R" = comdat any
25
26 // CHECK: @"\01l_OBJC_PROTOCOL_$_P" = {{.*}}, comdat
27 // CHECK: @"\01l_OBJC_LABEL_PROTOCOL_$_P" = {{.*}}, comdat
28