diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-08-15 13:59:46 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-08-15 13:59:46 +0000 |
commit | 3ec7910e10b6f11a5a05cedc83e6403f044a4942 (patch) | |
tree | 560f66d9b38b8769bc80b2565087a364b2d6a1a1 /clang/lib/Sema/SemaOverload.cpp | |
parent | 5d1b6ce83c679e3644b7dffaff63057fb43c1eff (diff) | |
download | bcm5719-llvm-3ec7910e10b6f11a5a05cedc83e6403f044a4942.tar.gz bcm5719-llvm-3ec7910e10b6f11a5a05cedc83e6403f044a4942.zip |
Teach reference initialization from the result of a user-defined
conversion to initialize the standard conversion *after* the
user-defined conversion properly. Fixes PR10644.
llvm-svn: 137608
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 72a43d89e8c..84d16ab2b45 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -3609,11 +3609,11 @@ TryReferenceInit(Sema &S, Expr *&Init, QualType DeclType, ICS.Standard.ObjCLifetimeConversionBinding = false; } else if (ICS.isUserDefined()) { ICS.UserDefined.After.ReferenceBinding = true; - ICS.Standard.IsLvalueReference = !isRValRef; - ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType(); - ICS.Standard.BindsToRvalue = true; - ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false; - ICS.Standard.ObjCLifetimeConversionBinding = false; + ICS.UserDefined.After.IsLvalueReference = !isRValRef; + ICS.UserDefined.After.BindsToFunctionLvalue = T2->isFunctionType(); + ICS.UserDefined.After.BindsToRvalue = true; + ICS.UserDefined.After.BindsImplicitObjectArgumentWithoutRefQualifier = false; + ICS.UserDefined.After.ObjCLifetimeConversionBinding = false; } return ICS; |