@@ -245,7 +245,6 @@ void StandardConversionSequence::setAsIdentityConversion() {
245245 IsLvalueReference = true;
246246 BindsToFunctionLvalue = false;
247247 BindsToRvalue = false;
248- IsImplicitObjectArgumentQualificationConversion = false;
249248 BindsImplicitObjectArgumentWithoutRefQualifier = false;
250249 ObjCLifetimeConversionBinding = false;
251250 FromBracedInitList = false;
@@ -5318,7 +5317,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
53185317 ICS.Standard.DirectBinding = BindsDirectly;
53195318 ICS.Standard.IsLvalueReference = !isRValRef;
53205319 ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType();
5321- ICS.Standard.IsImplicitObjectArgumentQualificationConversion = false;
53225320 ICS.Standard.BindsToRvalue = InitCategory.isRValue();
53235321 ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
53245322 ICS.Standard.ObjCLifetimeConversionBinding =
@@ -5498,7 +5496,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
54985496 ICS.Standard.IsLvalueReference = !isRValRef;
54995497 ICS.Standard.BindsToFunctionLvalue = false;
55005498 ICS.Standard.BindsToRvalue = true;
5501- ICS.Standard.IsImplicitObjectArgumentQualificationConversion = false;
55025499 ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
55035500 ICS.Standard.ObjCLifetimeConversionBinding = false;
55045501 } else if (ICS.isUserDefined()) {
@@ -5521,8 +5518,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
55215518 ICS.UserDefined.After.IsLvalueReference = !isRValRef;
55225519 ICS.UserDefined.After.BindsToFunctionLvalue = false;
55235520 ICS.UserDefined.After.BindsToRvalue = !LValRefType;
5524- ICS.UserDefined.After.IsImplicitObjectArgumentQualificationConversion =
5525- false;
55265521 ICS.UserDefined.After.BindsImplicitObjectArgumentWithoutRefQualifier = false;
55275522 ICS.UserDefined.After.ObjCLifetimeConversionBinding = false;
55285523 ICS.UserDefined.After.FromBracedInitList = false;
@@ -5807,7 +5802,6 @@ TryListConversion(Sema &S, InitListExpr *From, QualType ToType,
58075802 StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
58085803 Result.UserDefined.After;
58095804 SCS.ReferenceBinding = true;
5810- SCS.IsImplicitObjectArgumentQualificationConversion = false;
58115805 SCS.IsLvalueReference = ToType->isLValueReferenceType();
58125806 SCS.BindsToRvalue = true;
58135807 SCS.BindsToFunctionLvalue = false;
@@ -6005,12 +5999,8 @@ static ImplicitConversionSequence TryObjectArgumentInitialization(
60055999 // affects the conversion rank.
60066000 QualType ClassTypeCanon = S.Context.getCanonicalType(ClassType);
60076001 ImplicitConversionKind SecondKind;
6008- bool IsQualificationConversion = false;
6009- if (ImplicitParamType.getCanonicalType() == FromTypeCanon) {
6002+ if (ClassTypeCanon == FromTypeCanon.getLocalUnqualifiedType()) {
60106003 SecondKind = ICK_Identity;
6011- } else if (ClassTypeCanon == FromTypeCanon.getLocalUnqualifiedType()) {
6012- SecondKind = ICK_Identity;
6013- IsQualificationConversion = true;
60146004 } else if (S.IsDerivedFrom(Loc, FromType, ClassType)) {
60156005 SecondKind = ICK_Derived_To_Base;
60166006 } else if (!Method->isExplicitObjectMemberFunction()) {
@@ -6051,8 +6041,6 @@ static ImplicitConversionSequence TryObjectArgumentInitialization(
60516041 ICS.Standard.setFromType(FromType);
60526042 ICS.Standard.setAllToTypes(ImplicitParamType);
60536043 ICS.Standard.ReferenceBinding = true;
6054- ICS.Standard.IsImplicitObjectArgumentQualificationConversion =
6055- IsQualificationConversion;
60566044 ICS.Standard.DirectBinding = true;
60576045 ICS.Standard.IsLvalueReference = Method->getRefQualifier() != RQ_RValue;
60586046 ICS.Standard.BindsToFunctionLvalue = false;
0 commit comments