aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-05-03 21:06:59 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-05-03 21:06:59 +0000
commita36f3ed3f19ebd78432d967325e9157ec02e1bdf (patch)
treeb1ac6c4df446376a1d7b95796331d4ab4ca06eeb
parentd8d344191149652bb0f49d4c6e756b2f1bb63cac (diff)
Test for my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102956 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/SemaObjCXX/overload-1.mm25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/SemaObjCXX/overload-1.mm b/test/SemaObjCXX/overload-1.mm
new file mode 100644
index 0000000000..fc17ca2be9
--- /dev/null
+++ b/test/SemaObjCXX/overload-1.mm
@@ -0,0 +1,25 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+@protocol Proto1 @end
+
+@protocol Proto2 @end
+
+void f(id<Proto1> *) { } // expected-note {{previous definition is here}}
+
+void f(id<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
+
+void f(Class<Proto1> *) { } // expected-note {{previous definition is here}}
+
+void f(Class<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
+
+@interface I @end
+
+void f(I<Proto1> *) { } // expected-note {{previous definition is here}}
+
+void f(I<Proto1, Proto2> *) { } // expected-error {{conflicting types for 'f'}}
+
+@interface I1 @end
+
+void f1(I<Proto1> *) { }
+
+void f1(I1<Proto1, Proto2> *) { }