File tree 1 file changed +4
-2
lines changed 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -689,7 +689,9 @@ R"(#include <stdio.h>
689
689
std::string list_dc_func = c_ds_api->get_list_deepcopy_func (list_target);
690
690
if ( ASR::is_a<ASR::ListConstant_t>(*x.m_value ) ) {
691
691
src += value;
692
- src += indent + list_dc_func + " (&" + const_name + " , &" + target + " );\n\n " ;
692
+ ASR::ListConstant_t *l_const = ASR::down_cast<ASR::ListConstant_t>(x.m_value );
693
+ std::string var_name = const_var_names[get_hash ((ASR::asr_t *)l_const)];
694
+ src += indent + list_dc_func + " (&" + var_name + " , &" + target + " );\n\n " ;
693
695
} else if (ASR::is_a<ASR::ListConcat_t>(*x.m_value )) {
694
696
src += indent + list_dc_func + " (" + value + " , &" + target + " );\n\n " ;
695
697
} else {
@@ -805,7 +807,7 @@ R"(#include <stdio.h>
805
807
ASR::Tuple_t* t = ASR::down_cast<ASR::Tuple_t>(x.m_type );
806
808
std::string tuple_type_c = c_ds_api->get_tuple_type (t);
807
809
std::string src_tmp = " " ;
808
- src_tmp += indent + tuple_type_c + " " + const_name + " ;\n " ;
810
+ src_tmp += indent + tuple_type_c + " " + var_name + " ;\n " ;
809
811
for (size_t i = 0 ; i < x.n_elements ; i++) {
810
812
self ().visit_expr (*x.m_elements [i]);
811
813
std::string ele = " .element_" + std::to_string (i);
You can’t perform that action at this time.
0 commit comments