Skip to content

Commit 9c6c051

Browse files
committed
Fix nested declaration error
1 parent c767793 commit 9c6c051

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/libasr/codegen/c_utils.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -570,17 +570,19 @@ class CCPPDSUtils {
570570
std::string tab(indentation_spaces, ' ');
571571
std::string tuple_struct_type = "struct " + tuple_type_code;
572572
typecodeToDStype[tuple_type_code] = tuple_struct_type;
573-
func_decls += indent + tuple_struct_type + " {\n";
574-
func_decls += indent + tab + "int32_t length;\n";
573+
std::string tmp_gen = "";
574+
tmp_gen += indent + tuple_struct_type + " {\n";
575+
tmp_gen += indent + tab + "int32_t length;\n";
575576
for (size_t i = 0; i < tuple_type->n_type; i++) {
576577
if (is_non_primitive_DT(tuple_type->m_type[i])) {
577578
// Make sure the nested types work
578579
get_type(tuple_type->m_type[i]);
579580
}
580-
func_decls += indent + tab + \
581+
tmp_gen += indent + tab + \
581582
CUtils::get_c_type_from_ttype_t(tuple_type->m_type[i]) + " element_" + std::to_string(i) + ";\n";
582583
}
583-
func_decls += indent + "};\n\n";
584+
tmp_gen += indent + "};\n\n";
585+
func_decls += tmp_gen;
584586
generate_compare_funcs((ASR::ttype_t *)tuple_type);
585587
return tuple_struct_type;
586588
}

0 commit comments

Comments
 (0)