aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-08-07 11:56:45 +0000
committerDouglas Gregor <dgregor@apple.com>2010-08-07 11:56:45 +0000
commitaaa37137a94f61747076d7431ef129aa497c92ed (patch)
treede320e5f6679ca0a943e4321c0e419ce75a5336b
parent569c3166874324c24011f8ade6978421f0d39b3c (diff)
Add some more tests for reference binding of Objective-C objects
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110514 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/SemaObjCXX/references.mm12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/SemaObjCXX/references.mm b/test/SemaObjCXX/references.mm
index a6c267ddd2..15033f6bde 100644
--- a/test/SemaObjCXX/references.mm
+++ b/test/SemaObjCXX/references.mm
@@ -39,6 +39,11 @@ void f4(NSString &tmpstr) {
@interface foo<P1> {} @end
@interface bar : foo <P1, P2> {} @end
typedef bar baz;
+
+struct ToBar {
+ operator bar&() const;
+};
+
void f5(foo&);
void f5b(foo<P1>&);
void f5c(foo<P2>&);
@@ -48,5 +53,10 @@ void f6(baz* x) {
f5b(*x);
f5c(*x);
f5d(*x);
- (void)((foo&)*x);
+ (void)((foo&)*x);
+ f5(ToBar());
+ f5b(ToBar());
+ f5c(ToBar());
+ f5d(ToBar());
+ (void)((foo&)ToBar());
}