static void findOuterVars(FnSymbol* fn, SymbolMap* uses) { Vec<BaseAST*> asts; collect_asts(fn, asts); forv_Vec(BaseAST, ast, asts) { if (SymExpr* symExpr = toSymExpr(ast)) { Symbol* sym = symExpr->var; if (toVarSymbol(sym) || toArgSymbol(sym)) if (!isCorrespCoforallIndex(fn, sym) && isOuterVar(sym, fn)) uses->put(sym,gNil); } } }
static void findOuterVars(FnSymbol* fn, SymbolMap& uses) { std::vector<BaseAST*> asts; collect_asts(fn, asts); for_vector(BaseAST, ast, asts) { if (SymExpr* symExpr = toSymExpr(ast)) { Symbol* sym = symExpr->symbol(); if (isLcnSymbol(sym)) { if (!isCorrespCoforallIndex(fn, sym) && isOuterVar(sym, fn)) uses.put(sym, markUnspecified); } } } }