aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/conversion-function.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-07-13 22:53:21 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-07-13 22:53:21 +0000
commit87c1f1f7c400deb2eb40d4599a40006072fb948c (patch)
tree32b90473a01a202e41f4be5d31304cbe020c8f9c /test/SemaCXX/conversion-function.cpp
parentb8981df0ed2886dfa221f2fad6d86872c39d3549 (diff)
PR8800: When building a conversion to A& using a member operatorA&(), do not require A to be a complete type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135101 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/conversion-function.cpp')
-rw-r--r--test/SemaCXX/conversion-function.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/SemaCXX/conversion-function.cpp b/test/SemaCXX/conversion-function.cpp
index aa47ae0f48..a7a178244c 100644
--- a/test/SemaCXX/conversion-function.cpp
+++ b/test/SemaCXX/conversion-function.cpp
@@ -378,3 +378,17 @@ namespace PR9336 {
generic_list<generic_list<int> > l;
array<array<int> > a = l;
}
+
+namespace PR8800 {
+ struct A;
+ struct C {
+ operator A&();
+ };
+ void f() {
+ C c;
+ A& a1(c);
+ A& a2 = c;
+ A& a3 = static_cast<A&>(c);
+ A& a4 = (A&)c;
+ }
+}