@@ -245,7 +245,6 @@ void StandardConversionSequence::setAsIdentityConversion() {
245
245
IsLvalueReference = true;
246
246
BindsToFunctionLvalue = false;
247
247
BindsToRvalue = false;
248
- IsImplicitObjectArgumentQualificationConversion = false;
249
248
BindsImplicitObjectArgumentWithoutRefQualifier = false;
250
249
ObjCLifetimeConversionBinding = false;
251
250
FromBracedInitList = false;
@@ -5318,7 +5317,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
5318
5317
ICS.Standard.DirectBinding = BindsDirectly;
5319
5318
ICS.Standard.IsLvalueReference = !isRValRef;
5320
5319
ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType();
5321
- ICS.Standard.IsImplicitObjectArgumentQualificationConversion = false;
5322
5320
ICS.Standard.BindsToRvalue = InitCategory.isRValue();
5323
5321
ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
5324
5322
ICS.Standard.ObjCLifetimeConversionBinding =
@@ -5498,7 +5496,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
5498
5496
ICS.Standard.IsLvalueReference = !isRValRef;
5499
5497
ICS.Standard.BindsToFunctionLvalue = false;
5500
5498
ICS.Standard.BindsToRvalue = true;
5501
- ICS.Standard.IsImplicitObjectArgumentQualificationConversion = false;
5502
5499
ICS.Standard.BindsImplicitObjectArgumentWithoutRefQualifier = false;
5503
5500
ICS.Standard.ObjCLifetimeConversionBinding = false;
5504
5501
} else if (ICS.isUserDefined()) {
@@ -5521,8 +5518,6 @@ TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
5521
5518
ICS.UserDefined.After.IsLvalueReference = !isRValRef;
5522
5519
ICS.UserDefined.After.BindsToFunctionLvalue = false;
5523
5520
ICS.UserDefined.After.BindsToRvalue = !LValRefType;
5524
- ICS.UserDefined.After.IsImplicitObjectArgumentQualificationConversion =
5525
- false;
5526
5521
ICS.UserDefined.After.BindsImplicitObjectArgumentWithoutRefQualifier = false;
5527
5522
ICS.UserDefined.After.ObjCLifetimeConversionBinding = false;
5528
5523
ICS.UserDefined.After.FromBracedInitList = false;
@@ -5807,7 +5802,6 @@ TryListConversion(Sema &S, InitListExpr *From, QualType ToType,
5807
5802
StandardConversionSequence &SCS = Result.isStandard() ? Result.Standard :
5808
5803
Result.UserDefined.After;
5809
5804
SCS.ReferenceBinding = true;
5810
- SCS.IsImplicitObjectArgumentQualificationConversion = false;
5811
5805
SCS.IsLvalueReference = ToType->isLValueReferenceType();
5812
5806
SCS.BindsToRvalue = true;
5813
5807
SCS.BindsToFunctionLvalue = false;
@@ -6005,12 +5999,8 @@ static ImplicitConversionSequence TryObjectArgumentInitialization(
6005
5999
// affects the conversion rank.
6006
6000
QualType ClassTypeCanon = S.Context.getCanonicalType(ClassType);
6007
6001
ImplicitConversionKind SecondKind;
6008
- bool IsQualificationConversion = false;
6009
- if (ImplicitParamType.getCanonicalType() == FromTypeCanon) {
6002
+ if (ClassTypeCanon == FromTypeCanon.getLocalUnqualifiedType()) {
6010
6003
SecondKind = ICK_Identity;
6011
- } else if (ClassTypeCanon == FromTypeCanon.getLocalUnqualifiedType()) {
6012
- SecondKind = ICK_Identity;
6013
- IsQualificationConversion = true;
6014
6004
} else if (S.IsDerivedFrom(Loc, FromType, ClassType)) {
6015
6005
SecondKind = ICK_Derived_To_Base;
6016
6006
} else if (!Method->isExplicitObjectMemberFunction()) {
@@ -6051,8 +6041,6 @@ static ImplicitConversionSequence TryObjectArgumentInitialization(
6051
6041
ICS.Standard.setFromType(FromType);
6052
6042
ICS.Standard.setAllToTypes(ImplicitParamType);
6053
6043
ICS.Standard.ReferenceBinding = true;
6054
- ICS.Standard.IsImplicitObjectArgumentQualificationConversion =
6055
- IsQualificationConversion;
6056
6044
ICS.Standard.DirectBinding = true;
6057
6045
ICS.Standard.IsLvalueReference = Method->getRefQualifier() != RQ_RValue;
6058
6046
ICS.Standard.BindsToFunctionLvalue = false;
0 commit comments