aboutsummaryrefslogtreecommitdiff
path: root/test/SemaTemplate/anonymous-union.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-12-24 20:23:34 +0000
committerDouglas Gregor <dgregor@apple.com>2009-12-24 20:23:34 +0000
commit8aa5f407d9e4787ff08bd66e1a2fe39be174fddc (patch)
tree279024abeb46e4f063a88eef6db856454ff832ac /test/SemaTemplate/anonymous-union.cpp
parent25c92e6c2936c279a58b41479e70806dbdeb0cdd (diff)
Add test case for PR5868, and improve location information slightly for implicit "this" expressions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92141 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/anonymous-union.cpp')
-rw-r--r--test/SemaTemplate/anonymous-union.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/SemaTemplate/anonymous-union.cpp b/test/SemaTemplate/anonymous-union.cpp
new file mode 100644
index 0000000000..59d1f25a4f
--- /dev/null
+++ b/test/SemaTemplate/anonymous-union.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+// PR5868
+struct T0 {
+ int x;
+ union {
+ void *m0;
+ };
+};
+template <typename T>
+struct T1 : public T0, public T {
+ void f0() {
+ m0 = 0; // expected-error{{ambiguous conversion}}
+ }
+};
+
+struct A : public T0 { };
+
+void f1(T1<A> *S) { S->f0(); } // expected-note{{instantiation of member function}}