From 2020ba46eabc277995dbdaf578e3b47851780f37 Mon Sep 17 00:00:00 2001 From: advik Date: Tue, 16 Apr 2024 15:53:15 +0530 Subject: [PATCH 1/6] Fix bug in printing a list --- src/libasr/pass/print_list_tuple.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/libasr/pass/print_list_tuple.cpp b/src/libasr/pass/print_list_tuple.cpp index 9b977b8602..e891ad91ae 100644 --- a/src/libasr/pass/print_list_tuple.cpp +++ b/src/libasr/pass/print_list_tuple.cpp @@ -114,11 +114,23 @@ class PrintListTupleVisitor list_iter_var_name, al, current_scope, int_type); } + std::string list_var_name; + ASR::expr_t *list_var; + { + list_var_name = + current_scope->get_unique_name("__list_var", false); + list_var = PassUtils::create_auxiliary_variable(loc, + list_var_name, al, current_scope, ASRUtils::expr_type(list_expr)); + } + + ASR::stmt_t *assign_stmt = ASRUtils::STMT( + ASR::make_Assignment_t(al, loc, list_var, list_expr, nullptr)); + ASR::expr_t *list_item = ASRUtils::EXPR( ASR::make_ListItem_t(al, loc, list_expr, list_iter_var, listC->m_type, nullptr)); ASR::expr_t *list_len = ASRUtils::EXPR(ASR::make_ListLen_t( - al, loc, list_expr, int_type, nullptr)); + al, loc, list_var, int_type, nullptr)); ASR::expr_t *constant_one = ASRUtils::EXPR( ASR::make_IntegerConstant_t(al, loc, 1, int_type)); ASR::expr_t *list_len_minus_one = @@ -199,6 +211,7 @@ class PrintListTupleVisitor al, loc, nullptr, loop_head, loop_body.p, loop_body.size(), nullptr, 0)); { + print_pass_result_tmp.push_back(al, assign_stmt); print_pass_result_tmp.push_back(al, print_open_bracket); print_pass_result_tmp.push_back(al, loop); print_pass_result_tmp.push_back(al, print_close_bracket); From c8ee1e4568ef9af3bda7826fe06891c255d5f865 Mon Sep 17 00:00:00 2001 From: advik Date: Tue, 16 Apr 2024 17:08:13 +0530 Subject: [PATCH 2/6] Update tests --- ...ass_print_list_tuple-print_02-09600eb.json | 2 +- ...s_print_list_tuple-print_02-09600eb.stdout | 2215 ++++++++++++----- ...ist_tuple-print_list_tuple_03-195fa9c.json | 2 +- ...t_tuple-print_list_tuple_03-195fa9c.stdout | 51 +- 4 files changed, 1558 insertions(+), 712 deletions(-) diff --git a/tests/reference/pass_print_list_tuple-print_02-09600eb.json b/tests/reference/pass_print_list_tuple-print_02-09600eb.json index a256225c9d..aae5410526 100644 --- a/tests/reference/pass_print_list_tuple-print_02-09600eb.json +++ b/tests/reference/pass_print_list_tuple-print_02-09600eb.json @@ -6,7 +6,7 @@ "outfile": null, "outfile_hash": null, "stdout": "pass_print_list_tuple-print_02-09600eb.stdout", - "stdout_hash": "b518803746ffd1666ff29f4bfa2347eb621d81af5e52dc36964cd249", + "stdout_hash": "056fdf6ed26bb7f9cbc33ba779c71dc752ff188bd70a9a6ecd774e82", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout b/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout index 89340fd892..5a3363c926 100644 --- a/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout +++ b/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout @@ -409,6 +409,348 @@ Required .false. ), + __list_var: + (Variable + 3 + __list_var + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var1: + (Variable + 3 + __list_var1 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var10: + (Variable + 3 + __list_var10 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var11: + (Variable + 3 + __list_var11 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var12: + (Variable + 3 + __list_var12 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var13: + (Variable + 3 + __list_var13 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var14: + (Variable + 3 + __list_var14 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var15: + (Variable + 3 + __list_var15 + [] + Local + () + () + Default + (List + (Character 1 1 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var16: + (Variable + 3 + __list_var16 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var17: + (Variable + 3 + __list_var17 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var18: + (Variable + 3 + __list_var18 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var2: + (Variable + 3 + __list_var2 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var3: + (Variable + 3 + __list_var3 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var4: + (Variable + 3 + __list_var4 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var5: + (Variable + 3 + __list_var5 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var6: + (Variable + 3 + __list_var6 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var7: + (Variable + 3 + __list_var7 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var8: + (Variable + 3 + __list_var8 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var9: + (Variable + 3 + __list_var9 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), a: (Variable 3 @@ -572,6 +914,11 @@ ) () ) + (Assignment + (Var 3 __list_var) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -589,7 +936,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var) (Integer 4) () ) @@ -629,7 +976,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var) (Integer 4) () ) @@ -667,6 +1014,11 @@ () () ) + (Assignment + (Var 3 __list_var1) + (Var 3 b) + () + ) (Print [(StringConstant "[" @@ -684,7 +1036,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var1) (Integer 4) () ) @@ -716,7 +1068,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var1) (Integer 4) () ) @@ -754,6 +1106,11 @@ () () ) + (Assignment + (Var 3 __list_var2) + (Var 3 c) + () + ) (Print [(StringConstant "[" @@ -771,7 +1128,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var2) (Integer 4) () ) @@ -803,7 +1160,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var2) (Integer 4) () ) @@ -841,6 +1198,11 @@ () () ) + (Assignment + (Var 3 __list_var3) + (Var 3 d) + () + ) (Print [(StringConstant "[" @@ -858,7 +1220,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var3) (Integer 4) () ) @@ -890,7 +1252,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var3) (Integer 4) () ) @@ -928,6 +1290,11 @@ () () ) + (Assignment + (Var 3 __list_var4) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -945,7 +1312,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var4) (Integer 4) () ) @@ -985,7 +1352,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var4) (Integer 4) () ) @@ -1026,6 +1393,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var5) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -1043,7 +1415,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var5) (Integer 4) () ) @@ -1083,7 +1455,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var5) (Integer 4) () ) @@ -1124,6 +1496,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var6) + (Var 3 b) + () + ) (Print [(StringConstant "[" @@ -1141,7 +1518,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var6) (Integer 4) () ) @@ -1173,7 +1550,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var6) (Integer 4) () ) @@ -1214,6 +1591,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var7) + (Var 3 c) + () + ) (Print [(StringConstant "[" @@ -1231,7 +1613,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var7) (Integer 4) () ) @@ -1263,7 +1645,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var7) (Integer 4) () ) @@ -1304,6 +1686,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var8) + (Var 3 d) + () + ) (Print [(StringConstant "[" @@ -1321,7 +1708,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var8) (Integer 4) () ) @@ -1353,7 +1740,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var8) (Integer 4) () ) @@ -1391,6 +1778,11 @@ () () ) + (Assignment + (Var 3 __list_var9) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -1408,7 +1800,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var9) (Integer 4) () ) @@ -1448,7 +1840,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var9) (Integer 4) () ) @@ -1489,6 +1881,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var10) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -1506,7 +1903,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var10) (Integer 4) () ) @@ -1546,7 +1943,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var10) (Integer 4) () ) @@ -1595,6 +1992,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var11) + (Var 3 b) + () + ) (Print [(StringConstant "[" @@ -1612,7 +2014,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var11) (Integer 4) () ) @@ -1644,7 +2046,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 b) + (Var 3 __list_var11) (Integer 4) () ) @@ -1685,6 +2087,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var12) + (Var 3 c) + () + ) (Print [(StringConstant "[" @@ -1702,7 +2109,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var12) (Integer 4) () ) @@ -1734,7 +2141,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var12) (Integer 4) () ) @@ -1786,6 +2193,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var13) + (Var 3 d) + () + ) (Print [(StringConstant "[" @@ -1803,7 +2215,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var13) (Integer 4) () ) @@ -1835,7 +2247,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 d) + (Var 3 __list_var13) (Integer 4) () ) @@ -1873,6 +2285,23 @@ () () ) + (Assignment + (Var 3 __list_var14) + (ListConstant + [(IntegerUnaryMinus + (IntegerConstant 3 (Integer 4)) + (Integer 4) + (IntegerConstant -3 (Integer 4)) + ) + (IntegerConstant 2 (Integer 4)) + (IntegerConstant 1 (Integer 4)) + (IntegerConstant 0 (Integer 4))] + (List + (Integer 4) + ) + ) + () + ) (Print [(StringConstant "[" @@ -1890,19 +2319,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListConstant - [(IntegerUnaryMinus - (IntegerConstant 3 (Integer 4)) - (Integer 4) - (IntegerConstant -3 (Integer 4)) - ) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 1 (Integer 4)) - (IntegerConstant 0 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var14) (Integer 4) () ) @@ -1946,19 +2363,7 @@ Lt (IntegerBinOp (ListLen - (ListConstant - [(IntegerUnaryMinus - (IntegerConstant 3 (Integer 4)) - (Integer 4) - (IntegerConstant -3 (Integer 4)) - ) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 1 (Integer 4)) - (IntegerConstant 0 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var14) (Integer 4) () ) @@ -1996,6 +2401,39 @@ () () ) + (Assignment + (Var 3 __list_var15) + (ListConstant + [(StringConstant + "a" + (Character 1 1 ()) + ) + (StringConstant + "b" + (Character 1 1 ()) + ) + (StringConstant + "c" + (Character 1 1 ()) + ) + (StringConstant + "d" + (Character 1 1 ()) + ) + (StringConstant + "e" + (Character 1 1 ()) + ) + (StringConstant + "f" + (Character 1 1 ()) + )] + (List + (Character 1 1 ()) + ) + ) + () + ) (Print [(StringConstant "[" @@ -2013,35 +2451,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListConstant - [(StringConstant - "a" - (Character 1 1 ()) - ) - (StringConstant - "b" - (Character 1 1 ()) - ) - (StringConstant - "c" - (Character 1 1 ()) - ) - (StringConstant - "d" - (Character 1 1 ()) - ) - (StringConstant - "e" - (Character 1 1 ()) - ) - (StringConstant - "f" - (Character 1 1 ()) - )] - (List - (Character 1 1 ()) - ) - ) + (Var 3 __list_var15) (Integer 4) () ) @@ -2109,35 +2519,7 @@ Lt (IntegerBinOp (ListLen - (ListConstant - [(StringConstant - "a" - (Character 1 1 ()) - ) - (StringConstant - "b" - (Character 1 1 ()) - ) - (StringConstant - "c" - (Character 1 1 ()) - ) - (StringConstant - "d" - (Character 1 1 ()) - ) - (StringConstant - "e" - (Character 1 1 ()) - ) - (StringConstant - "f" - (Character 1 1 ()) - )] - (List - (Character 1 1 ()) - ) - ) + (Var 3 __list_var15) (Integer 4) () ) @@ -2175,6 +2557,19 @@ () () ) + (Assignment + (Var 3 __list_var16) + (ListConstant + [(IntegerConstant 1 (Integer 4)) + (IntegerConstant 2 (Integer 4)) + (IntegerConstant 3 (Integer 4)) + (IntegerConstant 4 (Integer 4))] + (List + (Integer 4) + ) + ) + () + ) (Print [(StringConstant "[" @@ -2192,15 +2587,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListConstant - [(IntegerConstant 1 (Integer 4)) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 3 (Integer 4)) - (IntegerConstant 4 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var16) (Integer 4) () ) @@ -2240,15 +2627,7 @@ Lt (IntegerBinOp (ListLen - (ListConstant - [(IntegerConstant 1 (Integer 4)) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 3 (Integer 4)) - (IntegerConstant 4 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var16) (Integer 4) () ) @@ -2289,6 +2668,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var17) + (Var 3 a) + () + ) (Print [(StringConstant "[" @@ -2306,7 +2690,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var17) (Integer 4) () ) @@ -2346,7 +2730,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 a) + (Var 3 __list_var17) (Integer 4) () ) @@ -2387,6 +2771,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var18) + (Var 3 c) + () + ) (Print [(StringConstant "[" @@ -2404,7 +2793,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var18) (Integer 4) () ) @@ -2436,7 +2825,7 @@ Lt (IntegerBinOp (ListLen - (Var 3 c) + (Var 3 __list_var18) (Integer 4) () ) @@ -2488,7 +2877,87 @@ __list_iterator: (Variable 4 - __list_iterator + __list_iterator + [] + Local + () + () + Default + (Integer 4) + () + Source + Public + Required + .false. + ), + __list_iterator1: + (Variable + 4 + __list_iterator1 + [] + Local + () + () + Default + (Integer 4) + () + Source + Public + Required + .false. + ), + __list_iterator10: + (Variable + 4 + __list_iterator10 + [] + Local + () + () + Default + (Integer 4) + () + Source + Public + Required + .false. + ), + __list_iterator11: + (Variable + 4 + __list_iterator11 + [] + Local + () + () + Default + (Integer 4) + () + Source + Public + Required + .false. + ), + __list_iterator2: + (Variable + 4 + __list_iterator2 + [] + Local + () + () + Default + (Integer 4) + () + Source + Public + Required + .false. + ), + __list_iterator3: + (Variable + 4 + __list_iterator3 [] Local () @@ -2501,10 +2970,10 @@ Required .false. ), - __list_iterator1: + __list_iterator4: (Variable 4 - __list_iterator1 + __list_iterator4 [] Local () @@ -2517,10 +2986,10 @@ Required .false. ), - __list_iterator10: + __list_iterator5: (Variable 4 - __list_iterator10 + __list_iterator5 [] Local () @@ -2533,10 +3002,10 @@ Required .false. ), - __list_iterator11: + __list_iterator6: (Variable 4 - __list_iterator11 + __list_iterator6 [] Local () @@ -2549,10 +3018,10 @@ Required .false. ), - __list_iterator2: + __list_iterator7: (Variable 4 - __list_iterator2 + __list_iterator7 [] Local () @@ -2565,10 +3034,10 @@ Required .false. ), - __list_iterator3: + __list_iterator8: (Variable 4 - __list_iterator3 + __list_iterator8 [] Local () @@ -2581,10 +3050,10 @@ Required .false. ), - __list_iterator4: + __list_iterator9: (Variable 4 - __list_iterator4 + __list_iterator9 [] Local () @@ -2597,80 +3066,246 @@ Required .false. ), - __list_iterator5: + __list_var: (Variable 4 - __list_iterator5 + __list_var [] Local () () Default - (Integer 4) + (List + (List + (List + (List + (List + (Real 8) + ) + ) + ) + ) + ) () Source Public Required .false. ), - __list_iterator6: + __list_var1: (Variable 4 - __list_iterator6 + __list_var1 [] Local () () Default - (Integer 4) + (List + (List + (List + (List + (Real 8) + ) + ) + ) + ) () Source Public Required .false. ), - __list_iterator7: + __list_var10: (Variable 4 - __list_iterator7 + __list_var10 [] Local () () Default - (Integer 4) + (List + (List + (Character 1 -2 ()) + ) + ) () Source Public Required .false. ), - __list_iterator8: + __list_var11: (Variable 4 - __list_iterator8 + __list_var11 [] Local () () Default - (Integer 4) + (List + (Character 1 -2 ()) + ) () Source Public Required .false. ), - __list_iterator9: + __list_var2: (Variable 4 - __list_iterator9 + __list_var2 [] Local () () Default - (Integer 4) + (List + (List + (List + (Real 8) + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var3: + (Variable + 4 + __list_var3 + [] + Local + () + () + Default + (List + (List + (Real 8) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var4: + (Variable + 4 + __list_var4 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var5: + (Variable + 4 + __list_var5 + [] + Local + () + () + Default + (List + (List + (List + (Integer 4) + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var6: + (Variable + 4 + __list_var6 + [] + Local + () + () + Default + (List + (List + (Integer 4) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var7: + (Variable + 4 + __list_var7 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var8: + (Variable + 4 + __list_var8 + [] + Local + () + () + Default + (List + (List + (Real 8) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var9: + (Variable + 4 + __list_var9 + [] + Local + () + () + Default + (List + (Real 8) + ) () Source Public @@ -3068,6 +3703,11 @@ ) () ) + (Assignment + (Var 4 __list_var) + (Var 4 w) + () + ) (Print [(StringConstant "[" @@ -3085,7 +3725,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 4 w) + (Var 4 __list_var) (Integer 4) () ) @@ -3095,7 +3735,25 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 4 __list_var1) + (ListItem + (Var 4 w) + (Var 4 __list_iterator) + (List + (List + (List + (List + (Real 8) + ) + ) + ) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3112,6 +3770,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 4 __list_var1) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 4 __list_var2) + (ListItem (ListItem (Var 4 w) (Var 4 __list_iterator) @@ -3126,16 +3797,19 @@ ) () ) - (Integer 4) - () - ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) + (Var 4 __list_iterator1) + (List + (List + (List + (Real 8) + ) + ) + ) + () + ) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3152,6 +3826,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 4 __list_var2) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 4 __list_var3) + (ListItem (ListItem (ListItem (Var 4 w) @@ -3177,16 +3864,17 @@ ) () ) - (Integer 4) + (Var 4 __list_iterator2) + (List + (List + (Real 8) + ) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3203,6 +3891,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 4 __list_var3) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 4 __list_var4) + (ListItem (ListItem (ListItem (ListItem @@ -3237,16 +3938,15 @@ ) () ) - (Integer 4) + (Var 4 __list_iterator3) + (List + (Real 8) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3263,47 +3963,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 4 __list_iterator2) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 4 __list_iterator3) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var4) (Integer 4) () ) @@ -3375,47 +4035,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 4 __list_iterator2) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 4 __list_iterator3) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var4) (Integer 4) () ) @@ -3462,40 +4082,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 4 __list_iterator2) - (List - (List - (Real 8) - ) - ) - () - ) + (Var 4 __list_var3) (Integer 4) () ) @@ -3542,31 +4129,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) + (Var 4 __list_var2) (Integer 4) () ) @@ -3613,20 +4176,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) + (Var 4 __list_var1) (Integer 4) () ) @@ -3673,7 +4223,7 @@ Lt (IntegerBinOp (ListLen - (Var 4 w) + (Var 4 __list_var) (Integer 4) () ) @@ -3711,6 +4261,11 @@ () () ) + (Assignment + (Var 4 __list_var5) + (Var 4 x) + () + ) (Print [(StringConstant "[" @@ -3728,7 +4283,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 4 x) + (Var 4 __list_var5) (Integer 4) () ) @@ -3738,7 +4293,21 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 4 __list_var6) + (ListItem + (Var 4 x) + (Var 4 __list_iterator5) + (List + (List + (Integer 4) + ) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3755,6 +4324,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 4 __list_var6) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 4 __list_var7) + (ListItem (ListItem (Var 4 x) (Var 4 __list_iterator5) @@ -3765,16 +4347,15 @@ ) () ) - (Integer 4) + (Var 4 __list_iterator6) + (List + (Integer 4) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -3783,31 +4364,15 @@ (StringConstant "" (Character 1 0 ()) - ) - ) - (DoLoop - () - ((Var 4 __list_iterator7) - (IntegerConstant 0 (Integer 4)) - (IntegerBinOp - (ListLen - (ListItem - (ListItem - (Var 4 x) - (Var 4 __list_iterator5) - (List - (List - (Integer 4) - ) - ) - () - ) - (Var 4 __list_iterator6) - (List - (Integer 4) - ) - () - ) + ) + ) + (DoLoop + () + ((Var 4 __list_iterator7) + (IntegerConstant 0 (Integer 4)) + (IntegerBinOp + (ListLen + (Var 4 __list_var7) (Integer 4) () ) @@ -3855,23 +4420,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (Var 4 x) - (Var 4 __list_iterator5) - (List - (List - (Integer 4) - ) - ) - () - ) - (Var 4 __list_iterator6) - (List - (Integer 4) - ) - () - ) + (Var 4 __list_var7) (Integer 4) () ) @@ -3918,16 +4467,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 4 x) - (Var 4 __list_iterator5) - (List - (List - (Integer 4) - ) - ) - () - ) + (Var 4 __list_var6) (Integer 4) () ) @@ -3974,7 +4514,7 @@ Lt (IntegerBinOp (ListLen - (Var 4 x) + (Var 4 __list_var5) (Integer 4) () ) @@ -4012,6 +4552,11 @@ () () ) + (Assignment + (Var 4 __list_var8) + (Var 4 y) + () + ) (Print [(StringConstant "[" @@ -4029,7 +4574,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 4 y) + (Var 4 __list_var8) (Integer 4) () ) @@ -4039,7 +4584,19 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 4 __list_var9) + (ListItem + (Var 4 y) + (Var 4 __list_iterator8) + (List + (Real 8) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -4056,14 +4613,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (Var 4 y) - (Var 4 __list_iterator8) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var9) (Integer 4) () ) @@ -4102,14 +4652,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 4 y) - (Var 4 __list_iterator8) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var9) (Integer 4) () ) @@ -4156,7 +4699,7 @@ Lt (IntegerBinOp (ListLen - (Var 4 y) + (Var 4 __list_var8) (Integer 4) () ) @@ -4194,6 +4737,11 @@ () () ) + (Assignment + (Var 4 __list_var10) + (Var 4 z) + () + ) (Print [(StringConstant "[" @@ -4211,7 +4759,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 4 z) + (Var 4 __list_var10) (Integer 4) () ) @@ -4221,7 +4769,19 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 4 __list_var11) + (ListItem + (Var 4 z) + (Var 4 __list_iterator10) + (List + (Character 1 -2 ()) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -4238,14 +4798,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (Var 4 z) - (Var 4 __list_iterator10) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 4 __list_var11) (Integer 4) () ) @@ -4292,14 +4845,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 4 z) - (Var 4 __list_iterator10) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 4 __list_var11) (Integer 4) () ) @@ -4346,7 +4892,7 @@ Lt (IntegerBinOp (ListLen - (Var 4 z) + (Var 4 __list_var10) (Integer 4) () ) @@ -4539,6 +5085,188 @@ Required .false. ), + __list_var: + (Variable + 6 + __list_var + [] + Local + () + () + Default + (List + (List + (Integer 4) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var1: + (Variable + 6 + __list_var1 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var2: + (Variable + 6 + __list_var2 + [] + Local + () + () + Default + (List + (List + (List + (List + (Real 8) + ) + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var3: + (Variable + 6 + __list_var3 + [] + Local + () + () + Default + (List + (List + (List + (Real 8) + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var4: + (Variable + 6 + __list_var4 + [] + Local + () + () + Default + (List + (List + (Real 8) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var5: + (Variable + 6 + __list_var5 + [] + Local + () + () + Default + (List + (Real 8) + ) + () + Source + Public + Required + .false. + ), + __list_var6: + (Variable + 6 + __list_var6 + [] + Local + () + () + Default + (List + (List + (List + (Character 1 -2 ()) + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var7: + (Variable + 6 + __list_var7 + [] + Local + () + () + Default + (List + (List + (Character 1 -2 ()) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var8: + (Variable + 6 + __list_var8 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), p: (Variable 6 @@ -6280,6 +7008,11 @@ ) () ) + (Assignment + (Var 6 __list_var) + (Var 6 p) + () + ) (Print [(StringConstant "[" @@ -6297,7 +7030,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 6 p) + (Var 6 __list_var) (Integer 4) () ) @@ -6307,7 +7040,19 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 6 __list_var1) + (ListItem + (Var 6 p) + (Var 6 __list_iterator) + (List + (Integer 4) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -6324,14 +7069,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (Var 6 p) - (Var 6 __list_iterator) - (List - (Integer 4) - ) - () - ) + (Var 6 __list_var1) (Integer 4) () ) @@ -6370,14 +7108,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 6 p) - (Var 6 __list_iterator) - (List - (Integer 4) - ) - () - ) + (Var 6 __list_var1) (Integer 4) () ) @@ -6424,7 +7155,7 @@ Lt (IntegerBinOp (ListLen - (Var 6 p) + (Var 6 __list_var) (Integer 4) () ) @@ -6462,6 +7193,11 @@ () () ) + (Assignment + (Var 6 __list_var2) + (Var 6 q) + () + ) (Print [(StringConstant "[" @@ -6479,7 +7215,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 6 q) + (Var 6 __list_var2) (Integer 4) () ) @@ -6489,7 +7225,23 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 6 __list_var3) + (ListItem + (Var 6 q) + (Var 6 __list_iterator2) + (List + (List + (List + (Real 8) + ) + ) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -6506,6 +7258,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 6 __list_var3) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 6 __list_var4) + (ListItem (ListItem (Var 6 q) (Var 6 __list_iterator2) @@ -6518,16 +7283,17 @@ ) () ) - (Integer 4) + (Var 6 __list_iterator3) + (List + (List + (Real 8) + ) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -6544,6 +7310,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 6 __list_var4) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 6 __list_var5) + (ListItem (ListItem (ListItem (Var 6 q) @@ -6565,16 +7344,15 @@ ) () ) - (Integer 4) + (Var 6 __list_iterator4) + (List + (Real 8) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" (Character 1 1 ()) @@ -6591,34 +7369,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 6 __list_iterator3) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 6 __list_iterator4) - (List - (Real 8) - ) - () - ) + (Var 6 __list_var5) (Integer 4) () ) @@ -6677,34 +7428,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 6 __list_iterator3) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 6 __list_iterator4) - (List - (Real 8) - ) - () - ) + (Var 6 __list_var5) (Integer 4) () ) @@ -6751,27 +7475,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 6 __list_iterator3) - (List - (List - (Real 8) - ) - ) - () - ) + (Var 6 __list_var4) (Integer 4) () ) @@ -6818,18 +7522,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) + (Var 6 __list_var3) (Integer 4) () ) @@ -6876,7 +7569,7 @@ Lt (IntegerBinOp (ListLen - (Var 6 q) + (Var 6 __list_var2) (Integer 4) () ) @@ -6914,6 +7607,11 @@ () () ) + (Assignment + (Var 6 __list_var6) + (Var 6 r) + () + ) (Print [(StringConstant "[" @@ -6931,7 +7629,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 6 r) + (Var 6 __list_var6) (Integer 4) () ) @@ -6941,7 +7639,21 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 6 __list_var7) + (ListItem + (Var 6 r) + (Var 6 __list_iterator6) + (List + (List + (Character 1 -2 ()) + ) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -6958,6 +7670,19 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen + (Var 6 __list_var7) + (Integer 4) + () + ) + Sub + (IntegerConstant 1 (Integer 4)) + (Integer 4) + () + ) + (IntegerConstant 1 (Integer 4))) + [(Assignment + (Var 6 __list_var8) + (ListItem (ListItem (Var 6 r) (Var 6 __list_iterator6) @@ -6968,49 +7693,32 @@ ) () ) - (Integer 4) + (Var 6 __list_iterator7) + (List + (Character 1 -2 ()) + ) () ) - Sub - (IntegerConstant 1 (Integer 4)) - (Integer 4) () ) - (IntegerConstant 1 (Integer 4))) - [(Print + (Print [(StringConstant "[" - (Character 1 1 ()) - )] - () - (StringConstant - "" - (Character 1 0 ()) - ) - ) - (DoLoop - () - ((Var 6 __list_iterator8) - (IntegerConstant 0 (Integer 4)) - (IntegerBinOp - (ListLen - (ListItem - (ListItem - (Var 6 r) - (Var 6 __list_iterator6) - (List - (List - (Character 1 -2 ()) - ) - ) - () - ) - (Var 6 __list_iterator7) - (List - (Character 1 -2 ()) - ) - () - ) + (Character 1 1 ()) + )] + () + (StringConstant + "" + (Character 1 0 ()) + ) + ) + (DoLoop + () + ((Var 6 __list_iterator8) + (IntegerConstant 0 (Integer 4)) + (IntegerBinOp + (ListLen + (Var 6 __list_var8) (Integer 4) () ) @@ -7066,23 +7774,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (ListItem - (Var 6 r) - (Var 6 __list_iterator6) - (List - (List - (Character 1 -2 ()) - ) - ) - () - ) - (Var 6 __list_iterator7) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 6 __list_var8) (Integer 4) () ) @@ -7129,16 +7821,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 6 r) - (Var 6 __list_iterator6) - (List - (List - (Character 1 -2 ()) - ) - ) - () - ) + (Var 6 __list_var7) (Integer 4) () ) @@ -7185,7 +7868,7 @@ Lt (IntegerBinOp (ListLen - (Var 6 r) + (Var 6 __list_var6) (Integer 4) () ) @@ -7346,6 +8029,143 @@ Required .false. ), + __list_var: + (Variable + 5 + __list_var + [] + Local + () + () + Default + (List + (Tuple + [(Integer 4) + (Integer 4)] + ) + ) + () + Source + Public + Required + .false. + ), + __list_var1: + (Variable + 5 + __list_var1 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var2: + (Variable + 5 + __list_var2 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), + __list_var3: + (Variable + 5 + __list_var3 + [] + Local + () + () + Default + (List + (List + (Tuple + [(Integer 4) + (Character 1 -2 ())] + ) + ) + ) + () + Source + Public + Required + .false. + ), + __list_var4: + (Variable + 5 + __list_var4 + [] + Local + () + () + Default + (List + (Tuple + [(Integer 4) + (Character 1 -2 ())] + ) + ) + () + Source + Public + Required + .false. + ), + __list_var5: + (Variable + 5 + __list_var5 + [] + Local + () + () + Default + (List + (Character 1 -2 ()) + ) + () + Source + Public + Required + .false. + ), + __list_var6: + (Variable + 5 + __list_var6 + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), a: (Variable 5 @@ -7641,6 +8461,11 @@ ) () ) + (Assignment + (Var 5 __list_var) + (Var 5 a) + () + ) (Print [(StringConstant "[" @@ -7658,7 +8483,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 5 a) + (Var 5 __list_var) (Integer 4) () ) @@ -7758,7 +8583,7 @@ Lt (IntegerBinOp (ListLen - (Var 5 a) + (Var 5 __list_var) (Integer 4) () ) @@ -7810,6 +8635,18 @@ (Character 1 0 ()) ) ) + (Assignment + (Var 5 __list_var1) + (TupleItem + (Var 5 b) + (IntegerConstant 0 (Integer 4)) + (List + (Character 1 -2 ()) + ) + () + ) + () + ) (Print [(StringConstant "[" @@ -7827,14 +8664,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (TupleItem - (Var 5 b) - (IntegerConstant 0 (Integer 4)) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 5 __list_var1) (Integer 4) () ) @@ -7881,14 +8711,7 @@ Lt (IntegerBinOp (ListLen - (TupleItem - (Var 5 b) - (IntegerConstant 0 (Integer 4)) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 5 __list_var1) (Integer 4) () ) @@ -7943,6 +8766,18 @@ (Character 1 0 ()) ) ) + (Assignment + (Var 5 __list_var2) + (TupleItem + (Var 5 b) + (IntegerConstant 1 (Integer 4)) + (List + (Integer 4) + ) + () + ) + () + ) (Print [(StringConstant "[" @@ -7960,14 +8795,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (TupleItem - (Var 5 b) - (IntegerConstant 1 (Integer 4)) - (List - (Integer 4) - ) - () - ) + (Var 5 __list_var2) (Integer 4) () ) @@ -8006,14 +8834,7 @@ Lt (IntegerBinOp (ListLen - (TupleItem - (Var 5 b) - (IntegerConstant 1 (Integer 4)) - (List - (Integer 4) - ) - () - ) + (Var 5 __list_var2) (Integer 4) () ) @@ -8092,6 +8913,11 @@ () () ) + (Assignment + (Var 5 __list_var3) + (Var 5 c) + () + ) (Print [(StringConstant "[" @@ -8109,7 +8935,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 5 c) + (Var 5 __list_var3) (Integer 4) () ) @@ -8119,7 +8945,22 @@ () ) (IntegerConstant 1 (Integer 4))) - [(Print + [(Assignment + (Var 5 __list_var4) + (ListItem + (Var 5 c) + (Var 5 __list_iterator3) + (List + (Tuple + [(Integer 4) + (Character 1 -2 ())] + ) + ) + () + ) + () + ) + (Print [(StringConstant "[" (Character 1 1 ()) @@ -8136,17 +8977,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (ListItem - (Var 5 c) - (Var 5 __list_iterator3) - (List - (Tuple - [(Integer 4) - (Character 1 -2 ())] - ) - ) - () - ) + (Var 5 __list_var4) (Integer 4) () ) @@ -8274,17 +9105,7 @@ Lt (IntegerBinOp (ListLen - (ListItem - (Var 5 c) - (Var 5 __list_iterator3) - (List - (Tuple - [(Integer 4) - (Character 1 -2 ())] - ) - ) - () - ) + (Var 5 __list_var4) (Integer 4) () ) @@ -8331,7 +9152,7 @@ Lt (IntegerBinOp (ListLen - (Var 5 c) + (Var 5 __list_var3) (Integer 4) () ) @@ -8372,6 +9193,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 5 __list_var5) + (Var 5 b1) + () + ) (Print [(StringConstant "[" @@ -8389,7 +9215,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 5 b1) + (Var 5 __list_var5) (Integer 4) () ) @@ -8429,7 +9255,7 @@ Lt (IntegerBinOp (ListLen - (Var 5 b1) + (Var 5 __list_var5) (Integer 4) () ) @@ -8470,6 +9296,11 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 5 __list_var6) + (Var 5 b2) + () + ) (Print [(StringConstant "[" @@ -8487,7 +9318,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (Var 5 b2) + (Var 5 __list_var6) (Integer 4) () ) @@ -8519,7 +9350,7 @@ Lt (IntegerBinOp (ListLen - (Var 5 b2) + (Var 5 __list_var6) (Integer 4) () ) diff --git a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json index 51e2d47a18..4d96501cba 100644 --- a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json +++ b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json @@ -6,7 +6,7 @@ "outfile": null, "outfile_hash": null, "stdout": "pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout", - "stdout_hash": "080b6913697774b6f98669a991fb0f6d0346e52adc4f2de889d7ffcd", + "stdout_hash": "beb9b48582ba667c2a61d6d17e2d85b4c36ee9bf76b045be92315142", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout index 1e56573482..f900e83eaf 100644 --- a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout +++ b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout @@ -64,6 +64,24 @@ Required .false. ), + __list_var: + (Variable + 3 + __list_var + [] + Local + () + () + Default + (List + (Integer 4) + ) + () + Source + Public + Required + .false. + ), x: (Variable 3 @@ -356,6 +374,19 @@ (Character 1 1 ()) ) ) + (Assignment + (Var 3 __list_var) + (DictItem + (Var 3 y) + (IntegerConstant 1 (Integer 4)) + () + (List + (Integer 4) + ) + () + ) + () + ) (Print [(StringConstant "[" @@ -373,15 +404,7 @@ (IntegerConstant 0 (Integer 4)) (IntegerBinOp (ListLen - (DictItem - (Var 3 y) - (IntegerConstant 1 (Integer 4)) - () - (List - (Integer 4) - ) - () - ) + (Var 3 __list_var) (Integer 4) () ) @@ -421,15 +444,7 @@ Lt (IntegerBinOp (ListLen - (DictItem - (Var 3 y) - (IntegerConstant 1 (Integer 4)) - () - (List - (Integer 4) - ) - () - ) + (Var 3 __list_var) (Integer 4) () ) From 55ed32170a5b9453bd82ac53f215d56644c65e8c Mon Sep 17 00:00:00 2001 From: advik Date: Thu, 18 Apr 2024 18:36:37 +0530 Subject: [PATCH 3/6] Add integration test --- integration_tests/test_list_11.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/integration_tests/test_list_11.py b/integration_tests/test_list_11.py index d1fd3cca7f..b64a133dc9 100644 --- a/integration_tests/test_list_11.py +++ b/integration_tests/test_list_11.py @@ -19,6 +19,20 @@ def test_iterate_over_string(): assert s == temp[i] i+=1 +def test_issue_2639(): + l: list[i32] = [1, 2] + + def add_item(i: i32) -> list[i32]: + l.append(i) + return l + + print(add_item(3)) + + assert len(l) == 3 + assert l[0] == 1 + assert l[1] == 2 + assert l[2] == 3 + def main0(): x: list[i32] = return_empty_list_of_tuples() print(len(x)) From 8314fcddd6a445121009162ca763c97943ab1a22 Mon Sep 17 00:00:00 2001 From: advik Date: Fri, 19 Apr 2024 01:01:15 +0530 Subject: [PATCH 4/6] Fix bugs --- integration_tests/test_list_11.py | 1 + src/libasr/pass/print_list_tuple.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/integration_tests/test_list_11.py b/integration_tests/test_list_11.py index b64a133dc9..132d1c23f1 100644 --- a/integration_tests/test_list_11.py +++ b/integration_tests/test_list_11.py @@ -40,5 +40,6 @@ def main0(): assert len(x) == 0 test_issue_1882() test_iterate_over_string() + test_issue_2639() main0() diff --git a/src/libasr/pass/print_list_tuple.cpp b/src/libasr/pass/print_list_tuple.cpp index e891ad91ae..ce47301aab 100644 --- a/src/libasr/pass/print_list_tuple.cpp +++ b/src/libasr/pass/print_list_tuple.cpp @@ -127,7 +127,7 @@ class PrintListTupleVisitor ASR::make_Assignment_t(al, loc, list_var, list_expr, nullptr)); ASR::expr_t *list_item = ASRUtils::EXPR( - ASR::make_ListItem_t(al, loc, list_expr, + ASR::make_ListItem_t(al, loc, list_var, list_iter_var, listC->m_type, nullptr)); ASR::expr_t *list_len = ASRUtils::EXPR(ASR::make_ListLen_t( al, loc, list_var, int_type, nullptr)); From 3f599d60f81a8582d0e2f19e049572d24a44025d Mon Sep 17 00:00:00 2001 From: advik Date: Fri, 19 Apr 2024 01:08:26 +0530 Subject: [PATCH 5/6] Update references --- ...ass_print_list_tuple-print_02-09600eb.json | 2 +- ...s_print_list_tuple-print_02-09600eb.stdout | 419 ++---------------- ...ist_tuple-print_list_tuple_03-195fa9c.json | 2 +- ...t_tuple-print_list_tuple_03-195fa9c.stdout | 10 +- 4 files changed, 52 insertions(+), 381 deletions(-) diff --git a/tests/reference/pass_print_list_tuple-print_02-09600eb.json b/tests/reference/pass_print_list_tuple-print_02-09600eb.json index aae5410526..0aed9ffa4f 100644 --- a/tests/reference/pass_print_list_tuple-print_02-09600eb.json +++ b/tests/reference/pass_print_list_tuple-print_02-09600eb.json @@ -6,7 +6,7 @@ "outfile": null, "outfile_hash": null, "stdout": "pass_print_list_tuple-print_02-09600eb.stdout", - "stdout_hash": "056fdf6ed26bb7f9cbc33ba779c71dc752ff188bd70a9a6ecd774e82", + "stdout_hash": "2831d417b5508b57e5e64c51339eb96f4d9aaf3559ee19c31dd0bb3c", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout b/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout index 5a3363c926..6b923a67d8 100644 --- a/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout +++ b/tests/reference/pass_print_list_tuple-print_02-09600eb.stdout @@ -952,7 +952,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var) (Var 3 __list_iterator) (Character 1 -2 ()) () @@ -1048,7 +1048,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 b) + (Var 3 __list_var1) (Var 3 __list_iterator1) (Integer 4) () @@ -1140,7 +1140,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 c) + (Var 3 __list_var2) (Var 3 __list_iterator2) (Real 8) () @@ -1232,7 +1232,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 d) + (Var 3 __list_var3) (Var 3 __list_iterator3) (Integer 4) () @@ -1328,7 +1328,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var4) (Var 3 __list_iterator4) (Character 1 -2 ()) () @@ -1431,7 +1431,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var5) (Var 3 __list_iterator5) (Character 1 -2 ()) () @@ -1530,7 +1530,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 b) + (Var 3 __list_var6) (Var 3 __list_iterator6) (Integer 4) () @@ -1625,7 +1625,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 c) + (Var 3 __list_var7) (Var 3 __list_iterator7) (Real 8) () @@ -1720,7 +1720,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 d) + (Var 3 __list_var8) (Var 3 __list_iterator8) (Integer 4) () @@ -1816,7 +1816,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var9) (Var 3 __list_iterator9) (Character 1 -2 ()) () @@ -1919,7 +1919,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var10) (Var 3 __list_iterator10) (Character 1 -2 ()) () @@ -2026,7 +2026,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 b) + (Var 3 __list_var11) (Var 3 __list_iterator11) (Integer 4) () @@ -2121,7 +2121,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 c) + (Var 3 __list_var12) (Var 3 __list_iterator12) (Real 8) () @@ -2227,7 +2227,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 d) + (Var 3 __list_var13) (Var 3 __list_iterator13) (Integer 4) () @@ -2331,19 +2331,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListConstant - [(IntegerUnaryMinus - (IntegerConstant 3 (Integer 4)) - (Integer 4) - (IntegerConstant -3 (Integer 4)) - ) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 1 (Integer 4)) - (IntegerConstant 0 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var14) (Var 3 __list_iterator14) (Integer 4) () @@ -2467,35 +2455,7 @@ (Character 1 1 ()) ) (ListItem - (ListConstant - [(StringConstant - "a" - (Character 1 1 ()) - ) - (StringConstant - "b" - (Character 1 1 ()) - ) - (StringConstant - "c" - (Character 1 1 ()) - ) - (StringConstant - "d" - (Character 1 1 ()) - ) - (StringConstant - "e" - (Character 1 1 ()) - ) - (StringConstant - "f" - (Character 1 1 ()) - )] - (List - (Character 1 1 ()) - ) - ) + (Var 3 __list_var15) (Var 3 __list_iterator15) (Character 1 1 ()) () @@ -2599,15 +2559,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListConstant - [(IntegerConstant 1 (Integer 4)) - (IntegerConstant 2 (Integer 4)) - (IntegerConstant 3 (Integer 4)) - (IntegerConstant 4 (Integer 4))] - (List - (Integer 4) - ) - ) + (Var 3 __list_var16) (Var 3 __list_iterator16) (Integer 4) () @@ -2706,7 +2658,7 @@ (Character 1 1 ()) ) (ListItem - (Var 3 a) + (Var 3 __list_var17) (Var 3 __list_iterator17) (Character 1 -2 ()) () @@ -2805,7 +2757,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 3 c) + (Var 3 __list_var18) (Var 3 __list_iterator18) (Real 8) () @@ -3738,7 +3690,7 @@ [(Assignment (Var 4 __list_var1) (ListItem - (Var 4 w) + (Var 4 __list_var) (Var 4 __list_iterator) (List (List @@ -3783,20 +3735,7 @@ [(Assignment (Var 4 __list_var2) (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) + (Var 4 __list_var1) (Var 4 __list_iterator1) (List (List @@ -3839,31 +3778,7 @@ [(Assignment (Var 4 __list_var3) (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) + (Var 4 __list_var2) (Var 4 __list_iterator2) (List (List @@ -3904,40 +3819,7 @@ [(Assignment (Var 4 __list_var4) (ListItem - (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 4 __list_iterator2) - (List - (List - (Real 8) - ) - ) - () - ) + (Var 4 __list_var3) (Var 4 __list_iterator3) (List (Real 8) @@ -3975,47 +3857,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListItem - (ListItem - (ListItem - (ListItem - (Var 4 w) - (Var 4 __list_iterator) - (List - (List - (List - (List - (Real 8) - ) - ) - ) - ) - () - ) - (Var 4 __list_iterator1) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 4 __list_iterator2) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 4 __list_iterator3) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var4) (Var 4 __list_iterator4) (Real 8) () @@ -4296,7 +4138,7 @@ [(Assignment (Var 4 __list_var6) (ListItem - (Var 4 x) + (Var 4 __list_var5) (Var 4 __list_iterator5) (List (List @@ -4337,16 +4179,7 @@ [(Assignment (Var 4 __list_var7) (ListItem - (ListItem - (Var 4 x) - (Var 4 __list_iterator5) - (List - (List - (Integer 4) - ) - ) - () - ) + (Var 4 __list_var6) (Var 4 __list_iterator6) (List (Integer 4) @@ -4384,23 +4217,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListItem - (ListItem - (Var 4 x) - (Var 4 __list_iterator5) - (List - (List - (Integer 4) - ) - ) - () - ) - (Var 4 __list_iterator6) - (List - (Integer 4) - ) - () - ) + (Var 4 __list_var7) (Var 4 __list_iterator7) (Integer 4) () @@ -4587,7 +4404,7 @@ [(Assignment (Var 4 __list_var9) (ListItem - (Var 4 y) + (Var 4 __list_var8) (Var 4 __list_iterator8) (List (Real 8) @@ -4625,14 +4442,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListItem - (Var 4 y) - (Var 4 __list_iterator8) - (List - (Real 8) - ) - () - ) + (Var 4 __list_var9) (Var 4 __list_iterator9) (Real 8) () @@ -4772,7 +4582,7 @@ [(Assignment (Var 4 __list_var11) (ListItem - (Var 4 z) + (Var 4 __list_var10) (Var 4 __list_iterator10) (List (Character 1 -2 ()) @@ -4814,14 +4624,7 @@ (Character 1 1 ()) ) (ListItem - (ListItem - (Var 4 z) - (Var 4 __list_iterator10) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 4 __list_var11) (Var 4 __list_iterator11) (Character 1 -2 ()) () @@ -7043,7 +6846,7 @@ [(Assignment (Var 6 __list_var1) (ListItem - (Var 6 p) + (Var 6 __list_var) (Var 6 __list_iterator) (List (Integer 4) @@ -7081,14 +6884,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListItem - (Var 6 p) - (Var 6 __list_iterator) - (List - (Integer 4) - ) - () - ) + (Var 6 __list_var1) (Var 6 __list_iterator1) (Integer 4) () @@ -7228,7 +7024,7 @@ [(Assignment (Var 6 __list_var3) (ListItem - (Var 6 q) + (Var 6 __list_var2) (Var 6 __list_iterator2) (List (List @@ -7271,18 +7067,7 @@ [(Assignment (Var 6 __list_var4) (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) + (Var 6 __list_var3) (Var 6 __list_iterator3) (List (List @@ -7323,27 +7108,7 @@ [(Assignment (Var 6 __list_var5) (ListItem - (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 6 __list_iterator3) - (List - (List - (Real 8) - ) - ) - () - ) + (Var 6 __list_var4) (Var 6 __list_iterator4) (List (Real 8) @@ -7381,34 +7146,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (ListItem - (ListItem - (ListItem - (Var 6 q) - (Var 6 __list_iterator2) - (List - (List - (List - (Real 8) - ) - ) - ) - () - ) - (Var 6 __list_iterator3) - (List - (List - (Real 8) - ) - ) - () - ) - (Var 6 __list_iterator4) - (List - (Real 8) - ) - () - ) + (Var 6 __list_var5) (Var 6 __list_iterator5) (Real 8) () @@ -7642,7 +7380,7 @@ [(Assignment (Var 6 __list_var7) (ListItem - (Var 6 r) + (Var 6 __list_var6) (Var 6 __list_iterator6) (List (List @@ -7683,16 +7421,7 @@ [(Assignment (Var 6 __list_var8) (ListItem - (ListItem - (Var 6 r) - (Var 6 __list_iterator6) - (List - (List - (Character 1 -2 ()) - ) - ) - () - ) + (Var 6 __list_var7) (Var 6 __list_iterator7) (List (Character 1 -2 ()) @@ -7734,23 +7463,7 @@ (Character 1 1 ()) ) (ListItem - (ListItem - (ListItem - (Var 6 r) - (Var 6 __list_iterator6) - (List - (List - (Character 1 -2 ()) - ) - ) - () - ) - (Var 6 __list_iterator7) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 6 __list_var8) (Var 6 __list_iterator8) (Character 1 -2 ()) () @@ -8507,7 +8220,7 @@ (Print [(TupleItem (ListItem - (Var 5 a) + (Var 5 __list_var) (Var 5 __list_iterator) (Tuple [(Integer 4) @@ -8545,7 +8258,7 @@ (Print [(TupleItem (ListItem - (Var 5 a) + (Var 5 __list_var) (Var 5 __list_iterator) (Tuple [(Integer 4) @@ -8680,14 +8393,7 @@ (Character 1 1 ()) ) (ListItem - (TupleItem - (Var 5 b) - (IntegerConstant 0 (Integer 4)) - (List - (Character 1 -2 ()) - ) - () - ) + (Var 5 __list_var1) (Var 5 __list_iterator1) (Character 1 -2 ()) () @@ -8807,14 +8513,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (TupleItem - (Var 5 b) - (IntegerConstant 1 (Integer 4)) - (List - (Integer 4) - ) - () - ) + (Var 5 __list_var2) (Var 5 __list_iterator2) (Integer 4) () @@ -8948,7 +8647,7 @@ [(Assignment (Var 5 __list_var4) (ListItem - (Var 5 c) + (Var 5 __list_var3) (Var 5 __list_iterator3) (List (Tuple @@ -9001,17 +8700,7 @@ (Print [(TupleItem (ListItem - (ListItem - (Var 5 c) - (Var 5 __list_iterator3) - (List - (Tuple - [(Integer 4) - (Character 1 -2 ())] - ) - ) - () - ) + (Var 5 __list_var4) (Var 5 __list_iterator4) (Tuple [(Integer 4) @@ -9053,17 +8742,7 @@ ) (TupleItem (ListItem - (ListItem - (Var 5 c) - (Var 5 __list_iterator3) - (List - (Tuple - [(Integer 4) - (Character 1 -2 ())] - ) - ) - () - ) + (Var 5 __list_var4) (Var 5 __list_iterator4) (Tuple [(Integer 4) @@ -9231,7 +8910,7 @@ (Character 1 1 ()) ) (ListItem - (Var 5 b1) + (Var 5 __list_var5) (Var 5 __list_iterator5) (Character 1 -2 ()) () @@ -9330,7 +9009,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (Var 5 b2) + (Var 5 __list_var6) (Var 5 __list_iterator6) (Integer 4) () diff --git a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json index 4d96501cba..c2fa5807d7 100644 --- a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json +++ b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.json @@ -6,7 +6,7 @@ "outfile": null, "outfile_hash": null, "stdout": "pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout", - "stdout_hash": "beb9b48582ba667c2a61d6d17e2d85b4c36ee9bf76b045be92315142", + "stdout_hash": "f63197ac9c1a649cfb2d3a3ef6f6672964ad753593afc68ce6d567e9", "stderr": null, "stderr_hash": null, "returncode": 0 diff --git a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout index f900e83eaf..aa210f8619 100644 --- a/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout +++ b/tests/reference/pass_print_list_tuple-print_list_tuple_03-195fa9c.stdout @@ -416,15 +416,7 @@ (IntegerConstant 1 (Integer 4))) [(Print [(ListItem - (DictItem - (Var 3 y) - (IntegerConstant 1 (Integer 4)) - () - (List - (Integer 4) - ) - () - ) + (Var 3 __list_var) (Var 3 __list_iterator) (Integer 4) () From 2e255fee6c9ba33cf9443ddc5dff61ccef02e723 Mon Sep 17 00:00:00 2001 From: advik Date: Fri, 19 Apr 2024 10:38:21 +0530 Subject: [PATCH 6/6] Fix tests for C backend --- integration_tests/test_list_11.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/integration_tests/test_list_11.py b/integration_tests/test_list_11.py index 132d1c23f1..2cb899ebf2 100644 --- a/integration_tests/test_list_11.py +++ b/integration_tests/test_list_11.py @@ -1,5 +1,12 @@ from lpython import i32 +l: list[i32] = [1, 2] + +def add_item(i: i32) -> list[i32]: + l.append(i) + return l + + def return_empty_list_of_tuples() -> list[i32]: return [] @@ -20,12 +27,6 @@ def test_iterate_over_string(): i+=1 def test_issue_2639(): - l: list[i32] = [1, 2] - - def add_item(i: i32) -> list[i32]: - l.append(i) - return l - print(add_item(3)) assert len(l) == 3