From: Douglas Gregor Date: Fri, 26 Feb 2010 01:17:27 +0000 (+0000) Subject: Commit Eli's fix for implicit conversions to array type. Fixes PR6264. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=692f85c1d217c8c3cdc06d884ad61b101c75c856;p=clang Commit Eli's fix for implicit conversions to array type. Fixes PR6264. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97202 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index 7b4a41777b..762f6db0a4 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -2227,7 +2227,7 @@ static OverloadingResult TryRefInitWithConversionFunction(Sema &S, ToType, CandidateSet); else S.AddConversionCandidate(Conv, I.getAccess(), ActingDC, - Initializer, cv1T1, CandidateSet); + Initializer, ToType, CandidateSet); } } } diff --git a/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp b/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp index cf529098df..4c7ee942bd 100644 --- a/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp +++ b/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp @@ -10,3 +10,15 @@ namespace PR5909 { const Foo f = { 0 }; // It compiles without the 'const'. bool z = Test(f.x); } + +namespace PR6264 { + typedef int (&T)[3]; + struct S + { + operator T (); + }; + void f() + { + T bar = S(); + } +}