xref: /llvm-project/clang/test/ASTMerge/property/test.m (revision 2423b7dfd3d2b10cffd4b93e904963763bc0a1f4)
10333dd95SReid Kleckner// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/property1.m
20333dd95SReid Kleckner// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/property2.m
3*2423b7dfSReid Kleckner// RUN: %clang_cc1 -ast-merge %t.1.ast -ast-merge %t.2.ast -fsyntax-only %s 2>&1 | FileCheck %s
40333dd95SReid Kleckner
5*2423b7dfSReid Kleckner// CHECK: property2.m:12:26: warning: property 'Prop1' declared with incompatible types in different translation units ('int' vs. 'float')
60333dd95SReid Kleckner// CHECK: property1.m:10:28: note: declared here with type 'float'
7*2423b7dfSReid Kleckner// CHECK: property2.m:12:26: warning: instance method 'Prop1' has incompatible result types in different translation units ('int' vs. 'float')
80333dd95SReid Kleckner// CHECK: property1.m:10:28: note: instance method 'Prop1' also declared here
9*2423b7dfSReid Kleckner// CHECK: property1.m:28:21: warning: property 'Prop2' is synthesized to different ivars in different translation units ('ivar3' vs. 'ivar2')
100333dd95SReid Kleckner// CHECK: property2.m:29:21: note: property is synthesized to ivar 'ivar2' here
11*2423b7dfSReid Kleckner// CHECK: property1.m:29:10: warning: property 'Prop3' is implemented with @dynamic in one translation but @synthesize in another translation unit
120333dd95SReid Kleckner// CHECK: property2.m:31:13: note: property 'Prop3' is implemented with @synthesize here
13*2423b7dfSReid Kleckner// CHECK: 4 warnings generated.
14