1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 13:05:22 +02:00

Bug 486149 - Name resolution problem with dependent conversion operator

Corrected two bugs pointed out in https://git.eclipse.org/r/#/c/64940/1

Change-Id: I44ec5b28a40db73857a7b687c3c784583810962b
This commit is contained in:
Sergey Prigogin 2016-01-24 09:08:13 -08:00
parent dbd35a059a
commit e60f8efdf3

View file

@ -164,7 +164,8 @@ final class ImplicitsAnalysis {
hasCopyAssignmentOperator = true; hasCopyAssignmentOperator = true;
} }
if (hasCopyConstructor && hasDestructor && hasCopyAssignmentOperator && baseSpecifiers.length == 0) { if (hasCopyConstructor && hasDestructor && hasCopyAssignmentOperator && baseSpecifiers.length == 0
&& hasNonStaticFields) {
break; // Nothing else to look for. break; // Nothing else to look for.
} }
} else if (dcltor instanceof ICPPASTFieldDeclarator && } else if (dcltor instanceof ICPPASTFieldDeclarator &&
@ -212,7 +213,7 @@ final class ImplicitsAnalysis {
ICPPBase[] bases = ClassTypeHelper.getBases(classType, compositeTypeSpecifier); ICPPBase[] bases = ClassTypeHelper.getBases(classType, compositeTypeSpecifier);
for (ICPPBase base : bases) { for (ICPPBase base : bases) {
if (base.isVirtual()) if (base.isVirtual())
return true; return false;
} }
ICPPClassType[] baseClasses = ClassTypeHelper.getAllBases(classType, compositeTypeSpecifier); ICPPClassType[] baseClasses = ClassTypeHelper.getAllBases(classType, compositeTypeSpecifier);