From d8b349c625cb2e7895e7e0310a88197ab8f49ac5 Mon Sep 17 00:00:00 2001
From: Tristan Le Gall <tristan.le-gall@cea.fr>
Date: Thu, 16 Feb 2023 17:20:58 +0100
Subject: [PATCH] [alias] update oracles

---
 src/plugins/alias/tests/basic/assignment5.c   | 13 ++++
 .../tests/basic/oracle/assignment1.res.oracle |  8 ---
 .../tests/basic/oracle/assignment2.res.oracle |  8 ---
 .../tests/basic/oracle/assignment3.res.oracle |  6 --
 .../tests/basic/oracle/assignment4.res.oracle |  8 ---
 .../tests/basic/oracle/assignment5.res.oracle | 55 +++++++++++++++++
 .../alias/tests/basic/oracle/cast1.res.oracle |  7 ---
 .../basic/oracle/conditional1.res.oracle      |  7 ---
 .../basic/oracle/conditional2.res.oracle      |  6 --
 .../tests/basic/oracle/function1.res.oracle   | 12 ----
 .../tests/basic/oracle/function2.res.oracle   |  8 ---
 .../tests/basic/oracle/function3.res.oracle   | 11 ----
 .../tests/basic/oracle/function4.res.oracle   |  6 --
 .../tests/basic/oracle/function5.res.oracle   |  8 ---
 .../tests/basic/oracle/switch1.res.oracle     |  8 ---
 .../tests/basic/oracle/switch2.res.oracle     |  9 ---
 .../tests/basic/oracle/while_for1.res.oracle  |  7 ---
 .../tests/basic/oracle/while_for2.res.oracle  |  5 --
 .../tests/basic/oracle/while_for3.res.oracle  |  9 ---
 .../real_world/oracle/example1.res.oracle     | 59 -------------------
 20 files changed, 68 insertions(+), 192 deletions(-)
 create mode 100644 src/plugins/alias/tests/basic/assignment5.c
 create mode 100644 src/plugins/alias/tests/basic/oracle/assignment5.res.oracle

diff --git a/src/plugins/alias/tests/basic/assignment5.c b/src/plugins/alias/tests/basic/assignment5.c
new file mode 100644
index 00000000000..4df3b55d622
--- /dev/null
+++ b/src/plugins/alias/tests/basic/assignment5.c
@@ -0,0 +1,13 @@
+// triple pointer assignment with some tricky alias
+//  { *b; *d } are aliased
+//  { b; d; *a; *c } are aliased
+
+
+int main () {
+
+  int ***a=0, **b=0, *c=0, *d=0;
+  *a = b;
+  *b = c;
+  d = **a;
+  return 0;
+}
diff --git a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
index 9fcdcf745ba..b55adb39bc5 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle
@@ -1,13 +1,5 @@
 [kernel] Parsing assignment1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING a = b;
-[alias] ANALYSING b = c;
-[alias] ANALYSING a = d;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; c; d; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
index e3cc9e045e0..5622c27520a 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle
@@ -1,13 +1,5 @@
 [kernel] Parsing assignment2.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int **a = (int **)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int **c = (int **)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING *a = b;
-[alias] ANALYSING *c = d;
-[alias] ANALYSING a = c;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
index 1ee26eabfac..da2726524c6 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
@@ -1,11 +1,5 @@
 [kernel] Parsing assignment3.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int b = 0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING a = & b;
-[alias] ANALYSING c = & b;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
index 1ba58031db9..9390fa35323 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle
@@ -1,13 +1,5 @@
 [kernel] Parsing assignment4.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int **a = (int **)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int **c = (int **)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING *a = b;
-[alias] ANALYSING *c = d;
-[alias] ANALYSING b = d;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {b; d; *a; *c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle
new file mode 100644
index 00000000000..3e3844d9843
--- /dev/null
+++ b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle
@@ -0,0 +1,55 @@
+[kernel] Parsing assignment5.c (with preprocessing)
+[alias] Parsing done
+[alias] May-aliases at the end of function main:
+  <list of may-alias>
+  {c; *b; } are aliased
+  {b; *a; } are aliased
+  {d; **a; } are aliased
+  <end of list>
+[alias] Functions done
+Before statement int ***a = (int ***)0; :
+ <list of may-alias>
+<end of list>
+
+Before statement int **b = (int **)0; :
+ <list of may-alias>
+<end of list>
+
+Before statement int *c = (int *)0; :
+ <list of may-alias>
+<end of list>
+
+Before statement int *d = (int *)0; :
+ <list of may-alias>
+<end of list>
+
+Before statement *a = b; :
+ <list of may-alias>
+<end of list>
+
+Before statement *b = c; :
+ <list of may-alias>
+{b; *a; } are aliased
+<end of list>
+
+Before statement d = *(*a); :
+ <list of may-alias>
+{c; *b; } are aliased
+{b; *a; } are aliased
+<end of list>
+
+Before statement __retres = 0; :
+ <list of may-alias>
+{c; *b; } are aliased
+{b; *a; } are aliased
+{d; **a; } are aliased
+<end of list>
+
+Before statement return __retres; :
+ <list of may-alias>
+{c; *b; } are aliased
+{b; *a; } are aliased
+{d; **a; } are aliased
+<end of list>
+
+[alias] Analysis complete
diff --git a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
index f4190f4010e..8e069c1b587 100644
--- a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle
@@ -1,12 +1,5 @@
 [kernel] Parsing cast1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING float *c = (float *)0;
-[alias] ANALYSING float *d = (float *)0;
-[alias] ANALYSING a = (int *)c;
-[alias] ANALYSING d = (float *)b;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
index 8c4054f5091..ff5ca3488e7 100644
--- a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle
@@ -1,12 +1,5 @@
 [kernel] Parsing conditional1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING a = b;
-[alias] ANALYSING a = c;
-[alias] ANALYSING *a = 4;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
index 8debbdfefd1..efc3b0b4b18 100644
--- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle
@@ -1,11 +1,5 @@
 [kernel] Parsing conditional2.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING b = & c;
-[alias] ANALYSING c = & d;
-[alias] ANALYSING d = & e;
-[alias] ANALYSING a = b;
-[alias] ANALYSING a = & c;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {d; *c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/function1.res.oracle b/src/plugins/alias/tests/basic/oracle/function1.res.oracle
index db2f3c1b010..847cf8fe8e1 100644
--- a/src/plugins/alias/tests/basic/oracle/function1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function1.res.oracle
@@ -1,22 +1,10 @@
 [kernel] Parsing function1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING swap(a,b);
-[alias] ANALYSING int *z = (int *)0;
-[alias] ANALYSING z = x;
-[alias] ANALYSING x = y;
-[alias] ANALYSING y = z;
-[alias] ANALYSING swap(c,d);
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; } are aliased
   {c; d; } are aliased
   <end of list>
-[alias] ANALYSING int *z = (int *)0;
 [alias] Functions done
 Before statement int *z = (int *)0; :
  <list of may-alias>
diff --git a/src/plugins/alias/tests/basic/oracle/function2.res.oracle b/src/plugins/alias/tests/basic/oracle/function2.res.oracle
index 5a9efeef4ae..b69f7452c5d 100644
--- a/src/plugins/alias/tests/basic/oracle/function2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function2.res.oracle
@@ -1,16 +1,8 @@
 [kernel] Parsing function2.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING a = my_malloc(2);
-[alias] ANALYSING int *res = (int *)0;
-[alias] ANALYSING res = (int *)malloc((size_t)size);
-[alias] ANALYSING b = my_malloc(3);
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   <end of list>
-[alias] ANALYSING int *res = (int *)0;
 [alias] Functions done
 Before statement int *res = (int *)0; :
  <list of may-alias>
diff --git a/src/plugins/alias/tests/basic/oracle/function3.res.oracle b/src/plugins/alias/tests/basic/oracle/function3.res.oracle
index 91d9f8367ce..a2fb570cbb1 100644
--- a/src/plugins/alias/tests/basic/oracle/function3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function3.res.oracle
@@ -1,16 +1,5 @@
 [kernel] Parsing function3.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *tmp = x;
-[alias] ANALYSING x = y;
-[alias] ANALYSING y = tmp;
-[alias] ANALYSING __retres = (void *)0;
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING f1(a,b);
-[alias] ANALYSING f1(c,d);
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/function4.res.oracle b/src/plugins/alias/tests/basic/oracle/function4.res.oracle
index 930a84a3723..eecac13aecd 100644
--- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle
@@ -1,11 +1,5 @@
 [kernel] Parsing function4.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int c = 0;
-[alias] ANALYSING a = addr(& c);
-[alias] ANALYSING b = & c;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/function5.res.oracle b/src/plugins/alias/tests/basic/oracle/function5.res.oracle
index 1c9711dd000..1283a1569ce 100644
--- a/src/plugins/alias/tests/basic/oracle/function5.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/function5.res.oracle
@@ -1,13 +1,5 @@
 [kernel] Parsing function5.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int c = 0;
-[alias] ANALYSING __retres = x;
-[alias] ANALYSING __retres = y;
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING c = choice(a,b);
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; c; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
index 6c39cecb009..bc6ac04a163 100644
--- a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle
@@ -1,13 +1,5 @@
 [kernel] Parsing switch1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING int e = 0;
-[alias] ANALYSING case 1: a = d;
-[alias] ANALYSING case 2: b = d;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; d; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
index 8b47ccbacd4..76bc912fed4 100644
--- a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle
@@ -1,14 +1,5 @@
 [kernel] Parsing switch2.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int *d = (int *)0;
-[alias] ANALYSING int e = 0;
-[alias] ANALYSING case 1: a = d;
-[alias] ANALYSING case 2: b = d;
-[alias] ANALYSING default: c = d;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; c; d; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
index 50f84214cb7..a40f482a279 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle
@@ -1,12 +1,5 @@
 [kernel] Parsing while_for1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *s = (int *)0;
-[alias] ANALYSING int idx = 0;
-[alias] ANALYSING s = (int *)malloc((size_t)idx);
-[alias] ANALYSING idx ++;
-[alias] ANALYSING s = (int *)malloc((size_t)idx);
-[alias] ANALYSING idx ++;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   <end of list>
diff --git a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
index 308ea356dbd..a09e913118a 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle
@@ -1,10 +1,5 @@
 [kernel] Parsing while_for2.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING a = b;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; } are aliased
diff --git a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
index 9df743ebd52..e427ce55327 100644
--- a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle
@@ -1,14 +1,5 @@
 [kernel] Parsing while_for3.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING int *a = (int *)0;
-[alias] ANALYSING int *b = (int *)0;
-[alias] ANALYSING int *c = (int *)0;
-[alias] ANALYSING int i = 0;
-[alias] ANALYSING a = b;
-[alias] ANALYSING __Cont: i ++;
-[alias] ANALYSING a = b;
-[alias] ANALYSING __Cont: i ++;
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   {a; b; } are aliased
diff --git a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
index b35d17149e6..d8270ca34a7 100644
--- a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
+++ b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle
@@ -1,102 +1,43 @@
 [kernel] Parsing example1.c (with preprocessing)
 [alias] Parsing done
-[alias] ANALYSING ty *tmp = x;
-[alias] ANALYSING idata = (double *)malloc((unsigned long)10 * sizeof(double));
-[alias] ANALYSING idata = tmp->t2[*(tmp->n2)];
 [alias] Skipping assignment idata = tmp->t2[*(tmp->n2)] (not implemented)
-[alias] ANALYSING odata = tmp->t1[*(tmp->n1)];
 [alias] Skipping assignment odata = tmp->t1[*(tmp->n1)] (not implemented)
-[alias] ANALYSING idx = 0;
-[alias] ANALYSING tmp_1 = sin(*(idata + idx));
 [alias] In a function call, parameter (x <- *(idata + idx)) is ignored)
 [alias] Warning: a function with no return is employed in an assignment
-[alias] ANALYSING *(odata + idx) = 0.5 * tmp_1;
 [alias] Skipping assignment *(odata + idx) = 0.5 * tmp_1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING tmp_1 = sin(*(idata + idx));
 [alias] In a function call, parameter (x <- *(idata + idx)) is ignored)
 [alias] Warning: a function with no return is employed in an assignment
-[alias] ANALYSING *(odata + idx) = 0.5 * tmp_1;
 [alias] Skipping assignment *(odata + idx) = 0.5 * tmp_1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING swap(tmp->n1);
-[alias] ANALYSING *n = 0;
-[alias] ANALYSING (*n) ++;
 [alias] DEBUG: call function - formal variable not as we expected
-[alias] ANALYSING idata = tmp->t2[*(tmp->n2)];
 [alias] Skipping assignment idata = tmp->t2[*(tmp->n2)] (not implemented)
-[alias] ANALYSING odata = tmp->t1[*(tmp->n1)];
 [alias] Skipping assignment odata = tmp->t1[*(tmp->n1)] (not implemented)
-[alias] ANALYSING idx = 0;
-[alias] ANALYSING tmp_1 = sin(*(idata + idx));
 [alias] In a function call, parameter (x <- *(idata + idx)) is ignored)
 [alias] Warning: a function with no return is employed in an assignment
-[alias] ANALYSING *(odata + idx) = 0.5 * tmp_1;
 [alias] Skipping assignment *(odata + idx) = 0.5 * tmp_1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING swap(tmp->n1);
 [alias] DEBUG: call function - formal variable not as we expected
 [alias] Warning: DEBUG return stmt of f1 not in table
 [alias] Warning: Analysis is continuing but will not be sound
-[alias] ANALYSING ty *tmp = x;
-[alias] ANALYSING idata = (double *)malloc((unsigned long)10 * sizeof(double));
-[alias] ANALYSING idata = tmp->t1[*(tmp->n1)];
 [alias] Skipping assignment idata = tmp->t1[*(tmp->n1)] (not implemented)
-[alias] ANALYSING odata = tmp->t2[*(tmp->n2)];
 [alias] Skipping assignment odata = tmp->t2[*(tmp->n2)] (not implemented)
-[alias] ANALYSING idx = 0;
-[alias] ANALYSING *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
 [alias] Skipping assignment *(odata + idx) = (double)3 * *(idata + idx) + (double)1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
 [alias] Skipping assignment *(odata + idx) = (double)3 * *(idata + idx) + (double)1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING swap(tmp->n2);
 [alias] DEBUG: call function - formal variable not as we expected
-[alias] ANALYSING idata = tmp->t1[*(tmp->n1)];
 [alias] Skipping assignment idata = tmp->t1[*(tmp->n1)] (not implemented)
-[alias] ANALYSING odata = tmp->t2[*(tmp->n2)];
 [alias] Skipping assignment odata = tmp->t2[*(tmp->n2)] (not implemented)
-[alias] ANALYSING idx = 0;
-[alias] ANALYSING *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
 [alias] Skipping assignment *(odata + idx) = (double)3 * *(idata + idx) + (double)1 (BUG do_assignment 2)
-[alias] ANALYSING idx ++;
-[alias] ANALYSING swap(tmp->n2);
 [alias] DEBUG: call function - formal variable not as we expected
 [alias] Warning: DEBUG return stmt of f2 not in table
 [alias] Warning: Analysis is continuing but will not be sound
-[alias] ANALYSING a = (ty *)malloc(sizeof(ty));
-[alias] ANALYSING b = (ty *)malloc(sizeof(ty));
-[alias] ANALYSING i = 0;
-[alias] ANALYSING a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
 [alias] Skipping assignment a->t1[i] = malloc() (not implemented)
-[alias] ANALYSING a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double));
 [alias] Skipping assignment a->t2[i] = malloc() (not implemented)
-[alias] ANALYSING i ++;
-[alias] ANALYSING a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double));
 [alias] Skipping assignment a->t1[i] = malloc() (not implemented)
-[alias] ANALYSING a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double));
 [alias] Skipping assignment a->t2[i] = malloc() (not implemented)
-[alias] ANALYSING i ++;
-[alias] ANALYSING a->n1 = (int *)malloc(sizeof(int));
 [alias] Skipping assignment a->n1 = malloc() (not implemented)
-[alias] ANALYSING a->n2 = (int *)malloc(sizeof(int));
 [alias] Skipping assignment a->n2 = malloc() (not implemented)
-[alias] ANALYSING *(a->n1) = 1;
-[alias] ANALYSING *(a->n2) = 1;
-[alias] ANALYSING i = 0;
-[alias] ANALYSING b->t1[i] = a->t1[i];
 [alias] Skipping assignment b->t1[i] = a->t1[i] (not implemented)
-[alias] ANALYSING b->t2[i] = a->t2[i];
 [alias] Skipping assignment b->t2[i] = a->t2[i] (not implemented)
-[alias] ANALYSING i ++;
-[alias] ANALYSING b->n1 = a->n1;
 [alias] Skipping assignment b->n1 = a->n1 (not implemented)
-[alias] ANALYSING b->n2 = a->n2;
 [alias] Skipping assignment b->n2 = a->n2 (not implemented)
-[alias] ANALYSING f1(a);
-[alias] ANALYSING f2(b);
-[alias] ANALYSING __retres = 0;
 [alias] May-aliases at the end of function main:
   <list of may-alias>
   <end of list>
-- 
GitLab