1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 14:12:10 +02:00

Consider variable templates while determining size of parameter pack

This commit is contained in:
Igor V. Kovalenko 2023-03-05 14:59:42 +03:00 committed by Jonah Graham
parent 65ac74fad7
commit 4b4daec3b4

View file

@ -1278,6 +1278,16 @@ public class CPPTemplates {
if (r < 0) if (r < 0)
return r; return r;
} }
} else if (binding instanceof ICPPDeferredVariableInstance dvi) {
if (dvi.getTemplateDefinition() instanceof ICPPTemplateTemplateParameter) {
r = combinePackSize(r, determinePackSize((ICPPUnknownBinding) dvi.getTemplateDefinition(), tpMap));
}
ICPPTemplateArgument[] args = dvi.getTemplateArguments();
for (ICPPTemplateArgument arg : args) {
r = combinePackSize(r, determinePackSize(arg, tpMap));
if (r < 0)
return r;
}
} }
IBinding ownerBinding = binding.getOwner(); IBinding ownerBinding = binding.getOwner();
if (ownerBinding instanceof IType) if (ownerBinding instanceof IType)