blob: 70ce8278e8f0c6caad0177eccac2c0dda0adee45 [file] [log] [blame]
Fariborz Jahaniandd69aae2009-12-16 18:03:30 +00001// RUN: %clang_cc1 -verify -emit-llvm -o - %s
Daniel Dunbarfcf3de32009-06-05 06:03:19 +00002
3// Test reference binding.
4
5typedef struct {
6 int f0;
7 int f1;
8} T;
9
10@interface A
11@property (assign) T p0;
Fariborz Jahaniandd69aae2009-12-16 18:03:30 +000012@property (assign) T& p1; // expected-error {{property of reference type is not supported}}
Daniel Dunbarfcf3de32009-06-05 06:03:19 +000013@end
14
15int f0(const T& t) {
16 return t.f0;
17}
18
19int f1(A *a) {
20 return f0(a.p0);
21}
22
23int f2(A *a) {
Fariborz Jahaniandd69aae2009-12-16 18:03:30 +000024 return f0(a.p1); // expected-error {{property 'p1' not found on object of type 'A *'}}
Daniel Dunbarfcf3de32009-06-05 06:03:19 +000025}
26