@@ -4115,8 +4115,6 @@ class SymbolTableVisitor : public CommonVisitor<SymbolTableVisitor> {
41154115 bool current_procedure_interface = false ;
41164116 bool overload = false ;
41174117 bool vectorize = false , is_inline = false , is_static = false ;
4118- Vec<ASR::ttype_t *> tps;
4119- tps.reserve (al, x.m_args .n_args );
41204118 bool is_restriction = false ;
41214119 bool is_deterministic = false ;
41224120 bool is_side_effect_free = false ;
@@ -4215,29 +4213,6 @@ class SymbolTableVisitor : public CommonVisitor<SymbolTableVisitor> {
42154213 + " cannot be intent InOut/Out" , loc);
42164214 }
42174215
4218- // Set the function as generic if an argument is typed with a type parameter
4219- if (ASRUtils::is_type_parameter (*arg_type)) {
4220- ASR::ttype_t * arg_type_type = ASRUtils::get_type_parameter (arg_type);
4221- ASR::ttype_t *new_tt = ASRUtils::duplicate_type_without_dims (al, arg_type_type, arg_type_type->base .loc );
4222- size_t current_size = tps.size ();
4223- if (current_size == 0 ) {
4224- tps.push_back (al, new_tt);
4225- } else {
4226- bool not_found = true ;
4227- for (size_t i = 0 ; i < current_size; i++) {
4228- ASR::TypeParameter_t *added_tp = ASR::down_cast<ASR::TypeParameter_t>(tps.p [i]);
4229- std::string new_param = ASR::down_cast<ASR::TypeParameter_t>(new_tt)->m_param ;
4230- std::string added_param = added_tp->m_param ;
4231- if (added_param.compare (new_param) == 0 ) {
4232- not_found = false ; break ;
4233- }
4234- }
4235- if (not_found) {
4236- tps.push_back (al, new_tt);
4237- }
4238- }
4239- }
4240-
42414216 std::string arg_s = arg;
42424217 ASR::expr_t *value = nullptr ;
42434218 ASR::expr_t *init_expr = nullptr ;
@@ -4340,7 +4315,8 @@ class SymbolTableVisitor : public CommonVisitor<SymbolTableVisitor> {
43404315 /* a_return_var */ ASRUtils::EXPR (return_var_ref),
43414316 current_procedure_abi_type,
43424317 s_access, deftype, bindc_name, vectorize, false , false , is_inline, is_static,
4343- nullptr , 0 , is_restriction, is_deterministic, is_side_effect_free,
4318+ nullptr , 0 ,
4319+ is_restriction, is_deterministic, is_side_effect_free,
43444320 module_file);
43454321 return_variable->m_type = return_type_;
43464322 } else {
@@ -4368,7 +4344,8 @@ class SymbolTableVisitor : public CommonVisitor<SymbolTableVisitor> {
43684344 current_procedure_abi_type,
43694345 s_access, deftype, bindc_name,
43704346 false , is_pure, is_module, is_inline, is_static,
4371- nullptr , 0 , is_restriction, is_deterministic, is_side_effect_free,
4347+ nullptr , 0 ,
4348+ is_restriction, is_deterministic, is_side_effect_free,
43724349 module_file);
43734350 }
43744351 ASR::symbol_t * t = ASR::down_cast<ASR::symbol_t >(tmp);
0 commit comments