Skip to content

Commit e478c43

Browse files
committed
Added symbol set functionality
1 parent 6f91349 commit e478c43

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

src/libasr/pass/replace_symbolic.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
2323
PassVisitor(al_, nullptr) {
2424
pass_result.reserve(al, 1);
2525
}
26-
std::vector<std::string> symbolic_dependcies;
26+
std::vector<std::string> symbolic_dependencies;
2727

2828
void visit_Function(const ASR::Function_t &x) {
2929
// FIXME: this is a hack, we need to pass in a non-const `x`,
@@ -45,9 +45,10 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
4545
for( size_t i = 0; i < xx.n_dependencies; i++ ) {
4646
function_dependencies.push_back(al, xx.m_dependencies[i]);
4747
}
48-
for( size_t i = 0; i < symbolic_dependcies.size(); i++ ) {
49-
function_dependencies.push_back(al, s2c(al, symbolic_dependcies[i]));
48+
for( size_t i = 0; i < symbolic_dependencies.size(); i++ ) {
49+
function_dependencies.push_back(al, s2c(al, symbolic_dependencies[i]));
5050
}
51+
symbolic_dependencies.clear();
5152
xx.n_dependencies = function_dependencies.size();
5253
xx.m_dependencies = function_dependencies.p;
5354
this->current_scope = current_scope_copy;
@@ -76,7 +77,7 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
7677
current_scope->add_symbol(s2c(al, placeholder), sym2);
7778

7879
std::string new_name = "basic_new_stack";
79-
symbolic_dependcies.push_back(new_name);
80+
symbolic_dependencies.push_back(new_name);
8081
if (!module_scope->get_symbol(new_name)) {
8182
std::string header = "symengine/cwrapper.h";
8283
SymbolTable *fn_symtab = al.make_new<SymbolTable>(module_scope);
@@ -160,7 +161,7 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
160161
switch (static_cast<LCompilers::ASRUtils::IntrinsicFunctions>(intrinsic_id)) {
161162
case LCompilers::ASRUtils::IntrinsicFunctions::SymbolicPi: {
162163
std::string new_name = "basic_const_pi";
163-
symbolic_dependcies.push_back(new_name);
164+
symbolic_dependencies.push_back(new_name);
164165
if (!module_scope->get_symbol(new_name)) {
165166
std::string header = "symengine/cwrapper.h";
166167
SymbolTable* fn_symtab = al.make_new<SymbolTable>(module_scope);
@@ -209,7 +210,7 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
209210
}
210211
case LCompilers::ASRUtils::IntrinsicFunctions::SymbolicSymbol: {
211212
std::string new_name = "symbol_set";
212-
symbolic_dependcies.push_back(new_name);
213+
symbolic_dependencies.push_back(new_name);
213214
if (!module_scope->get_symbol(new_name)) {
214215
std::string header = "symengine/cwrapper.h";
215216
SymbolTable* fn_symtab = al.make_new<SymbolTable>(module_scope);
@@ -281,7 +282,7 @@ class ReplaceSymbolicVisitor : public PassUtils::PassVisitor<ReplaceSymbolicVisi
281282

282283
if (ASR::is_a<ASR::Var_t>(*value) && ASR::is_a<ASR::CPtr_t>(*ASRUtils::expr_type(value))) {
283284
std::string new_name = "basic_str";
284-
symbolic_dependcies.push_back(new_name);
285+
symbolic_dependencies.push_back(new_name);
285286
if (!module_scope->get_symbol(new_name)) {
286287
std::string header = "symengine/cwrapper.h";
287288
SymbolTable* fn_symtab = al.make_new<SymbolTable>(module_scope);

0 commit comments

Comments
 (0)