diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-07-13 22:53:21 +0000 | 
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-07-13 22:53:21 +0000 | 
| commit | 48d2464c3fd8bdf6093d7ad3e4791ccab5235f6b (patch) | |
| tree | 73f665f276aed1ea37a2d72471946e505bdecaeb /clang/test | |
| parent | 13ea11afdeb17e5e035a22f10ab8f96ec92571c3 (diff) | |
| download | bcm5719-llvm-48d2464c3fd8bdf6093d7ad3e4791ccab5235f6b.tar.gz bcm5719-llvm-48d2464c3fd8bdf6093d7ad3e4791ccab5235f6b.zip  | |
PR8800: When building a conversion to A& using a member operatorA&(), do not require A to be a complete type.
llvm-svn: 135101
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/SemaCXX/conversion-function.cpp | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/conversion-function.cpp b/clang/test/SemaCXX/conversion-function.cpp index aa47ae0f482..a7a178244c8 100644 --- a/clang/test/SemaCXX/conversion-function.cpp +++ b/clang/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; +  } +}  | 

