Fix method invocation on rvalue reference
This commit is contained in:
parent
2b0994b086
commit
c4185832ba
|
@ -6996,7 +6996,7 @@ Expression* Parser::ParseQualify(Expression* exp)
|
||||||
|
|
||||||
exp = exp->ConstantFold(mErrors, mDataSection);
|
exp = exp->ConstantFold(mErrors, mDataSection);
|
||||||
|
|
||||||
if (dtype->mType == DT_TYPE_REFERENCE || dtype->mType == DT_TYPE_RVALUEREF)
|
if (dtype->IsReference())
|
||||||
dtype = dtype->mBase;
|
dtype = dtype->mBase;
|
||||||
|
|
||||||
if (dtype->mType == DT_TYPE_STRUCT || dtype->mType == DT_TYPE_UNION)
|
if (dtype->mType == DT_TYPE_STRUCT || dtype->mType == DT_TYPE_UNION)
|
||||||
|
@ -7103,7 +7103,7 @@ Expression* Parser::ParseQualify(Expression* exp)
|
||||||
texp->mLeft = exp;
|
texp->mLeft = exp;
|
||||||
texp->mDecType = new Declaration(nexp->mLocation, DT_TYPE_POINTER);
|
texp->mDecType = new Declaration(nexp->mLocation, DT_TYPE_POINTER);
|
||||||
texp->mDecType->mFlags |= DTF_CONST | DTF_DEFINED;
|
texp->mDecType->mFlags |= DTF_CONST | DTF_DEFINED;
|
||||||
if (exp->mDecType->mType == DT_TYPE_REFERENCE)
|
if (exp->mDecType->IsReference())
|
||||||
texp->mDecType->mBase = exp->mDecType->mBase;
|
texp->mDecType->mBase = exp->mDecType->mBase;
|
||||||
else
|
else
|
||||||
texp->mDecType->mBase = exp->mDecType;
|
texp->mDecType->mBase = exp->mDecType;
|
||||||
|
|
Loading…
Reference in New Issue