@@ -103,16 +103,13 @@ CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D)
103103 HasConstexprDefaultConstructor(false ),
104104 DefaultedDestructorIsConstexpr(true ),
105105 HasNonLiteralTypeFieldsOrBases(false ), StructuralIfLiteral(true ),
106- UserProvidedDefaultConstructor(false ), UserProvidedMoveAssignment(false ),
107- UserProvidedCopyAssignment(false ), ExplicitlyDeletedMoveAssignment(false ),
108- DeclaredSpecialMembers(0 ),
106+ UserProvidedDefaultConstructor(false ), DeclaredSpecialMembers(0 ),
109107 ImplicitCopyConstructorCanHaveConstParamForVBase(true ),
110108 ImplicitCopyConstructorCanHaveConstParamForNonVBase(true ),
111109 ImplicitCopyAssignmentHasConstParam(true ),
112110 HasDeclaredCopyConstructorWithConstParam(false ),
113111 HasDeclaredCopyAssignmentWithConstParam(false ),
114- IsAnyDestructorNoReturn(false ), IsHLSLIntangible(false ),
115- IsTriviallyRelocatable(false ), IsReplaceable(false ), IsLambda(false ),
112+ IsAnyDestructorNoReturn(false ), IsHLSLIntangible(false ), IsLambda(false ),
116113 IsParsingBaseSpecifiers(false ), ComputedVisibleConversions(false ),
117114 HasODRHash(false ), Definition(D) {}
118115
@@ -1559,10 +1556,6 @@ void CXXRecordDecl::addedEligibleSpecialMemberFunction(const CXXMethodDecl *MD,
15591556 if (DD->isNoReturn ())
15601557 data ().IsAnyDestructorNoReturn = true ;
15611558 }
1562- if (SMKind == SMF_CopyAssignment)
1563- data ().UserProvidedCopyAssignment = MD->isUserProvided ();
1564- else if (SMKind == SMF_MoveAssignment)
1565- data ().UserProvidedMoveAssignment = MD->isUserProvided ();
15661559 if (!MD->isImplicit () && !MD->isUserProvided ()) {
15671560 // This method is user-declared but not user-provided. We can't work
15681561 // out whether it's trivial yet (not until we get to the end of the
@@ -1584,9 +1577,6 @@ void CXXRecordDecl::addedEligibleSpecialMemberFunction(const CXXMethodDecl *MD,
15841577 if (!MD->isUserProvided ())
15851578 data ().DeclaredNonTrivialSpecialMembersForCall |= SMKind;
15861579 }
1587-
1588- if (MD->isDeleted () && SMKind == SMF_MoveAssignment)
1589- data ().ExplicitlyDeletedMoveAssignment = true ;
15901580}
15911581
15921582void CXXRecordDecl::finishedDefaultedOrDeletedMember (CXXMethodDecl *D) {
@@ -1614,11 +1604,8 @@ void CXXRecordDecl::finishedDefaultedOrDeletedMember(CXXMethodDecl *D) {
16141604 data ().HasIrrelevantDestructor = false ;
16151605 } else if (D->isCopyAssignmentOperator ())
16161606 SMKind |= SMF_CopyAssignment;
1617- else if (D->isMoveAssignmentOperator ()) {
1607+ else if (D->isMoveAssignmentOperator ())
16181608 SMKind |= SMF_MoveAssignment;
1619- if (!D->isIneligibleOrNotSelected () && D->isDeleted ())
1620- data ().ExplicitlyDeletedMoveAssignment = true ;
1621- }
16221609
16231610 // Update which trivial / non-trivial special members we have.
16241611 // addedMember will have skipped this step for this member.
0 commit comments