Fix link transport
This commit is contained in:
@@ -7,13 +7,13 @@ using std::set;
|
|||||||
|
|
||||||
static const char commonIntLetters[6] = {'i', 'j', 'k', 'm', 'n', 'l'};
|
static const char commonIntLetters[6] = {'i', 'j', 'k', 'm', 'n', 'l'};
|
||||||
|
|
||||||
static void InitTypes(map<char, SgType*> types)
|
static void InitTypes(map<char, SgType*>& types)
|
||||||
{
|
{
|
||||||
for (char letter = 'a'; letter <= 'z'; letter++)
|
for (char letter = 'a'; letter <= 'z'; letter++)
|
||||||
types[letter] = NULL;
|
types[letter] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FillCommonTypes(map<char, SgType*> types)
|
static void FillCommonTypes(map<char, SgType*>& types)
|
||||||
{
|
{
|
||||||
for (char letter : commonIntLetters)
|
for (char letter : commonIntLetters)
|
||||||
if (types[letter] == NULL)
|
if (types[letter] == NULL)
|
||||||
@@ -24,13 +24,13 @@ static void FillCommonTypes(map<char, SgType*> types)
|
|||||||
types[letter.first] = new SgType(T_FLOAT);
|
types[letter.first] = new SgType(T_FLOAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FindAllVars(SgExpression* expr, set<SgSymbol*>* allVars)
|
static void FindAllVars(SgExpression* expr, set<SgSymbol*>& allVars)
|
||||||
{
|
{
|
||||||
if (expr == NULL)
|
if (expr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (expr->variant() == VAR_REF || expr->variant() == ARRAY_REF)
|
if (expr->variant() == VAR_REF || expr->variant() == ARRAY_REF)
|
||||||
allVars->insert(expr->symbol());
|
allVars.insert(expr->symbol());
|
||||||
|
|
||||||
FindAllVars(expr->lhs(), allVars);
|
FindAllVars(expr->lhs(), allVars);
|
||||||
FindAllVars(expr->rhs(), allVars);
|
FindAllVars(expr->rhs(), allVars);
|
||||||
@@ -114,7 +114,7 @@ static map<char, SgType*> FunctionImplicitCheck(SgStatement* function, map<SgSta
|
|||||||
statement != NULL && statement->variant() != CONTAINS_STMT; statement = statement->lexNext())
|
statement != NULL && statement->variant() != CONTAINS_STMT; statement = statement->lexNext())
|
||||||
{
|
{
|
||||||
for (int expressionNumber = 0; expressionNumber < 3; expressionNumber++)
|
for (int expressionNumber = 0; expressionNumber < 3; expressionNumber++)
|
||||||
FindAllVars(statement->expr(expressionNumber), &allVars);
|
FindAllVars(statement->expr(expressionNumber), allVars);
|
||||||
|
|
||||||
if (statement == function->lastExecutable())
|
if (statement == function->lastExecutable())
|
||||||
break;
|
break;
|
||||||
@@ -174,6 +174,4 @@ void ImplicitCheck(SgFile* file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
typesByFunctions.clear();
|
typesByFunctions.clear();
|
||||||
|
|
||||||
printf("%s", file->firstStatement()->unparse());
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user