fix template deduction for member functions
This commit is contained in:
parent
3460c06508
commit
c0152b1ce4
|
@ -5700,6 +5700,9 @@ Expression* Parser::ParseSimpleExpression(bool lhs)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rexp = ParseParenthesisExpression();
|
rexp = ParseParenthesisExpression();
|
||||||
|
if (rexp->mDecType->IsReference())
|
||||||
|
dec->mInteger = rexp->mDecType->mBase->mSize;
|
||||||
|
else
|
||||||
dec->mInteger = rexp->mDecType->mSize;
|
dec->mInteger = rexp->mDecType->mSize;
|
||||||
}
|
}
|
||||||
exp = new Expression(mScanner->mLocation, EX_CONSTANT);
|
exp = new Expression(mScanner->mLocation, EX_CONSTANT);
|
||||||
|
@ -5907,7 +5910,7 @@ Expression* Parser::ParseQualify(Expression* exp)
|
||||||
}
|
}
|
||||||
else if (mdec->mType == DT_CONST_FUNCTION)
|
else if (mdec->mType == DT_CONST_FUNCTION)
|
||||||
{
|
{
|
||||||
if (mdec->mTemplate)
|
if (mdec->mTemplate && mScanner->mToken == TK_LESS_THAN)
|
||||||
mdec = ParseTemplateExpansion(mdec->mTemplate, nullptr);
|
mdec = ParseTemplateExpansion(mdec->mTemplate, nullptr);
|
||||||
|
|
||||||
if (mdec->mBase->mFlags & DTF_FUNC_THIS)
|
if (mdec->mBase->mFlags & DTF_FUNC_THIS)
|
||||||
|
|
Loading…
Reference in New Issue