Take cv-qualifiers on fields of class type into account when determining
whether a defaulted special member function should be deleted. llvm-svn: 195620
This commit is contained in:
@@ -4913,6 +4913,10 @@ struct SpecialMemberDeletionInfo {
|
||||
// cv-qualifiers on class members don't affect default ctor / dtor calls.
|
||||
if (CSM == Sema::CXXDefaultConstructor || CSM == Sema::CXXDestructor)
|
||||
Quals = 0;
|
||||
// cv-qualifiers on class members affect the type of both '*this' and the
|
||||
// argument for an assignment.
|
||||
if (IsAssignment)
|
||||
TQ |= Quals;
|
||||
return S.LookupSpecialMember(Class, CSM,
|
||||
ConstArg || (Quals & Qualifiers::Const),
|
||||
VolatileArg || (Quals & Qualifiers::Volatile),
|
||||
|
||||
Reference in New Issue
Block a user