fixed actuals

This commit is contained in:
ALEXks
2024-10-04 15:27:47 +03:00
parent 1140957dce
commit e64ee54c2a
9 changed files with 79 additions and 52 deletions

View File

@@ -1224,6 +1224,13 @@ int TestLocal(SgExpression *list)
return (0);
}
int is_deleted_module_symbol(SgSymbol *s)
{
if (!strcmp("***", s->identifier()))
return 1;
return 0;
}
void EnterDataRegionForVariablesInMainProgram(SgStatement *st)
{
symb_list *sl;
@@ -1237,7 +1244,7 @@ void EnterDataRegionForVariablesInMainProgram(SgStatement *st)
s = cur_func->symbol()->next();
while (IS_BY_USE(s))
{
if (IS_ARRAY(s) && s->variant() == VARIABLE_NAME && !IS_ALLOCATABLE(s) && !IS_POINTER_F90(s) && !HEADER(s) )
if (!is_deleted_module_symbol(s) && IS_ARRAY(s) && s->variant() == VARIABLE_NAME && !IS_ALLOCATABLE(s) && !IS_POINTER_F90(s) && !HEADER(s) )
st->insertStmtAfter(*DataEnter(new SgVarRefExp(s),ConstRef(0)),*st->controlParent());
s = s->next();
}
@@ -1257,7 +1264,7 @@ void ExitDataRegionForVariablesInMainProgram(SgStatement *st)
s=cur_func->symbol()->next();
while (IS_BY_USE(s))
{
if (IS_ARRAY(s) && s->variant() == VARIABLE_NAME && !IS_ALLOCATABLE(s) && !IS_POINTER_F90(s) && !HEADER(s) )
if (!is_deleted_module_symbol(s) && IS_ARRAY(s) && s->variant() == VARIABLE_NAME && !IS_ALLOCATABLE(s) && !IS_POINTER_F90(s) && !HEADER(s) )
InsertNewStatementBefore(DataExit(new SgVarRefExp(s),0),st);
s = s->next();
}

View File

@@ -246,12 +246,12 @@ int main(int argc, char *argv[])
else if (!strcmp(argv[0], "-no_blocks_info") || !strcmp(argv[0], "-noBI"))
options.setOn(NO_BL_INFO); /*ACC*/
else if (!strcmp(argv[0], "-cacheIdx"))
options.setOff(NO_BL_INFO); /*ACC*/
options.setOff(NO_BL_INFO); /*ACC*/
else if (!strcmp(argv[0], "-Ohost")) /*ACC*/
options.setOn(O_HOST);
else if (!strcmp(argv[0], "-noOhost")) /*ACC*/
options.setOff(O_HOST);
else if (!strcmp(argv[0], "-Opl2")) /*ACC*/
else if (!strcmp(argv[0], "-Opl2")) /*ACC*/
{
parloop_by_handler = 2;
options.setOn(O_HOST);
@@ -4276,8 +4276,11 @@ END_: // end of program unit
Extract_Stmt(first_dvm_exec); //extract fname() call
for(;pstmt; pstmt= pstmt->next)
Extract_Stmt(pstmt->st);// extracting DVM Directives and
//statements (inside the range of ASYNCHRONOUS construct)
return;
//statements (inside the range of ASYNCHRONOUS construct)
if(ACC_program==0 && debug_regim)
if(cur_func->expr(2) && cur_func->expr(2)->variant() == PURE_OP)
cur_func->setExpression(2, NULL); // removing PURE attribute from procedure header
return;
}
@@ -11305,7 +11308,9 @@ END_:
first_dvm_exec->extractStmt(); //extract fname() call
for(;pstmt; pstmt= pstmt->next)
Extract_Stmt(pstmt->st);// extracting DVM+ACC Directives
if(debug_regim)
if(cur_func->expr(2) && cur_func->expr(2)->variant()==PURE_OP)
cur_func->setExpression(2, NULL); // removing PURE attribute from procedure header
return;
}