From 68aeb4d929dd949a51a2b87e540e2a43bb9bba3c Mon Sep 17 00:00:00 2001
From: Constantin Anderssen <constantin.anderssen@etu.unistra.fr>
Date: Thu, 9 Jan 2025 18:26:09 +0100
Subject: [PATCH] added test3_max.corec

---
 Codes_en_COREC/tests/test3_max.corec | 70 ++++++++++++++++++++++++++++
 corec.y                              |  8 ++--
 lib.c                                |  1 +
 3 files changed, 75 insertions(+), 4 deletions(-)
 create mode 100644 Codes_en_COREC/tests/test3_max.corec

diff --git a/Codes_en_COREC/tests/test3_max.corec b/Codes_en_COREC/tests/test3_max.corec
new file mode 100644
index 0000000..9061c95
--- /dev/null
+++ b/Codes_en_COREC/tests/test3_max.corec
@@ -0,0 +1,70 @@
+// Aff 1D arrays
+
+// array1[15] = 10.10; bug ?
+
+prog Test3 {
+    def Main{
+        Loc : (array1,50)
+        Rec : {
+
+            array1[0] = 5.32;
+            array1[1] = 12;
+            array1[2] = 7.89;
+            array1[3] = 3.14;
+            array1[4] = 42;
+            array1[5] = 18.27;
+            array1[6] = 1.11;
+            array1[7] = 6;
+            array1[8] = 21.95;
+            array1[9] = 14.01;
+            array1[10] = 9;
+            array1[11] = 2.71;
+            array1[12] = 8.56;
+            array1[13] = 17;
+            array1[14] = 4.44;
+            array1[15] = 10.11;
+            array1[16] = 3.33;
+            array1[17] = 22;
+            array1[18] = 19.5;
+            array1[19] = 7.77;
+            array1[20] = 13.37;
+            array1[21] = 5;
+            array1[22] = 25.25;
+            array1[23] = 8;
+            array1[24] = 20.2;
+            array1[25] = 11.11;
+            array1[26] = 15;
+            array1[27] = 30.3;
+            array1[28] = 16.66;
+            array1[29] = 4;
+            array1[30] = 18;
+            array1[31] = 7.07;
+            array1[32] = 12.34;
+            array1[33] = 9.87;
+            array1[34] = 14;
+            array1[35] = 6.66;
+            array1[36] = 5.55;
+            array1[37] = 19;
+            array1[38] = 2.22;
+            array1[39] = 20;
+            array1[40] = 3;
+            array1[41] = 18.88;
+            array1[42] = 4.04;
+            array1[43] = 22.22;
+            array1[44] = 8.8;
+            array1[45] = 16;
+            array1[46] = 11.23;
+            array1[47] = 7.5;
+            array1[48] = 6.25;
+            array1[49] = 9.9;
+
+            printstr("Expected result : \n5.32 12.00 7.89 3.14 42.00 18.27 1.11 6.00 21.95 14.01 9.00 2.71 8.56 17.00 4.44 ");//10.11 3.33 22 19.5 7.77 \n 13.37 5 25.25 8 20.2 11.11 15 30.3 16.66 4 18 7.07 12.34 9.87 14 6.66 5.55 19 2.22 20 \n 3 18.88 4.04 22.22 8.8 16 11.23 7.5 6.25 9.9");
+            printstr("10.11 3.33 22 19.5 7.77 \n13.37 5 25.25 8 20.2 11.11 15 30.3 16.66 4 18 7.07 ");
+            printstr("12.34 9.87 14 6.66 5.55 19 2.22 20 \n3 18.88 4.04 22.22 8.8 16 11.23 7.5 6.25 9.9");
+
+            printstr("\nObtained Result : \n");
+            print(array1) // contain all the values exchanges here if the code is correct
+        }
+    }
+}
+
diff --git a/corec.y b/corec.y
index 86af826..77b2a6c 100644
--- a/corec.y
+++ b/corec.y
@@ -941,10 +941,10 @@ COND :
                     fprintf(stderr, "BUG\n");
                     break;
             }
-            name_t end_condition = snprintf(end_condition, sizeof(end_condition), "end_condition_%d", t->condition);
-            struct symbol * label = symtable_put_label(SYMTAB,end_condition);
-            name_t else_condition = snprintf(else_condition, sizeof(else_condition), "else_condition_%d", t->condition);
-            struct symbol * label = symtable_put_label(SYMTAB,else_condition);
+            // name_t end_condition = snprintf(end_condition, sizeof(end_condition), "end_condition_%d", t->condition);
+            // struct symbol * label = symtable_put_label(SYMTAB,end_condition);
+            // name_t else_condition = snprintf(else_condition, sizeof(else_condition), "else_condition_%d", t->condition);
+            // struct symbol * label = symtable_put_label(SYMTAB,else_condition);
             
             // TODO ahndle and gencode for if and else branches
         }
diff --git a/lib.c b/lib.c
index 1b2680c..2f201c6 100644
--- a/lib.c
+++ b/lib.c
@@ -316,6 +316,7 @@ static void symbol_dump(struct symbol* s, FILE* fout)
             break;
         case LABEL:
             fprintf(fout,"%s",s->u.name);
+            break; // ?
         default:
             fprintf(stderr,"BUG SYMBOL DUMP NOT RECOGNIZED\n");
             break;
-- 
GitLab