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