fixed expression calculation, fixed addArg
This commit is contained in:
@@ -440,15 +440,18 @@ bool replaceConstantRec(SgExpression *&exp)
|
||||
if (exp->variant() == CONST_REF)
|
||||
{
|
||||
SgExpression *ret = ReplaceParameter_(exp);
|
||||
|
||||
int sign = 1;
|
||||
SgExpression* toCalc = ret;
|
||||
if (ret->variant() == UNARY_ADD_OP)
|
||||
toCalc = ret->lhs();
|
||||
if (ret->variant() == MINUS_OP)
|
||||
if (toCalc->variant() == UNARY_ADD_OP)
|
||||
toCalc = toCalc->lhs();
|
||||
|
||||
if (toCalc->variant() == MINUS_OP)
|
||||
{
|
||||
toCalc = ret->lhs();
|
||||
toCalc = toCalc->lhs();
|
||||
sign = -1;
|
||||
}
|
||||
|
||||
if (toCalc->isInteger())
|
||||
{
|
||||
exp = new SgValueExp(sign * toCalc->valueInteger());
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#define VERSION_SPF "2440"
|
||||
#define VERSION_SPF "2441"
|
||||
|
||||
Reference in New Issue
Block a user