r213680 - Use the correct from type in a SCS

Ehsan Akhgari ehsan.akhgari at gmail.com
Tue Jul 22 13:20:15 PDT 2014


Author: ehsan
Date: Tue Jul 22 15:20:14 2014
New Revision: 213680

URL: http://llvm.org/viewvc/llvm-project?rev=213680&view=rev
Log:
Use the correct from type in a SCS

Summary:
If during constructing a standard conversion sequence, we resolve an
overload, we need to adjust the from type in the SCS according to the
resolved operator.

I found this bug when debugging PR20218.  This doesn't seem to be
observable, so there is no good way of testing it.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4402

Modified:
    cfe/trunk/lib/Sema/SemaOverload.cpp

Modified: cfe/trunk/lib/Sema/SemaOverload.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOverload.cpp?rev=213680&r1=213679&r2=213680&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaOverload.cpp (original)
+++ cfe/trunk/lib/Sema/SemaOverload.cpp Tue Jul 22 15:20:14 2014
@@ -1451,6 +1451,7 @@ static bool IsStandardConversion(Sema &S
       // We were able to resolve the address of the overloaded function,
       // so we can convert to the type of that function.
       FromType = Fn->getType();
+      SCS.setFromType(FromType);
 
       // we can sometimes resolve &foo<int> regardless of ToType, so check
       // if the type matches (identity) or we are converting to bool





More information about the cfe-commits mailing list