diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle index ea0ba00323531a35ccdcc86db77627b9c06ef154..945d1c5dbc8583e443b545b70e7029c2ff723db5 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle @@ -8,12 +8,8 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: a = & b; [alias] May-aliases at the end of instruction: - {a, &b} are aliased [alias] analysing instruction: c = & b; [alias] May-aliases at the end of instruction: - {a, c, &b} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {a, c, &b} are aliased [alias] May-aliases at the end of function main: - {a, c, &b} 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 194afa48bf6483d69f0fdce98080b19d2ed92310..91d4cc267e7c808deea9bbfd3e899eecce9a0273 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle @@ -2,32 +2,17 @@ [alias] analysing function: main [alias] analysing instruction: b = & c; [alias] May-aliases at the end of instruction: - {b, &c} are aliased [alias] analysing instruction: c = & d; [alias] May-aliases at the end of instruction: - {b, &c} are aliased - {c, &d} are aliased [alias] analysing instruction: d = & e; [alias] May-aliases at the end of instruction: - {b, &c} are aliased - {c, &d} are aliased - {d, &e} are aliased [alias] analysing instruction: a = b; [alias] May-aliases at the end of instruction: - {d, &e} are aliased - {a, b, &c} are aliased - {c, &d} are aliased + {a, b} are aliased [alias] analysing instruction: a = & c; [alias] May-aliases at the end of instruction: - {d, &e} are aliased - {a, b, &c} are aliased - {c, &d} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {d, &e} are aliased - {a, b, &c} are aliased - {c, &d} are aliased + {a, b} are aliased [alias] May-aliases at the end of function main: - {d, &e} are aliased - {a, b, &c} are aliased - {c, &d} are aliased + {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 ed47931573bb2422f22d2be5f86431d8c23dfe39..59bb839b4afdc9ea109f034412bcb5e90a72aca6 100644 --- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle @@ -10,12 +10,8 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: a = addr(& c); [alias] May-aliases at the end of instruction: - {a, &c} are aliased [alias] analysing instruction: b = & c; [alias] May-aliases at the end of instruction: - {a, b, &c} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {a, b, &c} are aliased [alias] May-aliases at the end of function main: - {a, b, &c} are aliased diff --git a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle index 287860520ec412ce38902cb9bf5b150455e79122..8caece4d00c309a6a6c1eac96c50805cd448b500 100644 --- a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle @@ -2,31 +2,17 @@ [alias] analysing function: main [alias] analysing instruction: a = & x; [alias] May-aliases at the end of instruction: - {a, &x} are aliased [alias] analysing instruction: b = & y; [alias] May-aliases at the end of instruction: - {a, &x} are aliased - {b, &y} are aliased [alias] analysing instruction: y = & z; [alias] May-aliases at the end of instruction: - {a, &x} are aliased - {b, &y} are aliased - {y, &z} are aliased [alias] analysing instruction: y = & x; [alias] May-aliases at the end of instruction: - {b, &y} are aliased - {a, y, &x} are aliased [alias] analysing instruction: c = & y; [alias] May-aliases at the end of instruction: {x, z} are aliased - {b, c, &y} are aliased - {a, y, &x, &z} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: {x, z} are aliased - {b, c, &y} are aliased - {a, y, &x, &z} are aliased [alias] May-aliases at the end of function main: {x, z} are aliased - {b, c, &y} are aliased - {a, y, &x, &z} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle index a4e66896abccb2febc2c47213595fcf58922ce6d..0d725244aeff682d7c783b8fe2775ff4909644f7 100644 --- a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle @@ -8,15 +8,10 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: int *x = & tab[1]; [alias] May-aliases at the end of instruction: - {x, &tab[0]} are aliased [alias] analysing instruction: int *y = & tab[2]; [alias] May-aliases at the end of instruction: - {x, y, &tab[0]} are aliased [alias] analysing instruction: tab[3] = *x + *y; [alias] May-aliases at the end of instruction: - {x, y, &tab[0]} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {x, y, &tab[0]} are aliased [alias] May-aliases at the end of function main: - {x, y, &tab[0]} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle index 079b9221eddf6f8240ca09051791ad3abe7eff32..db1c4a38409fa561101343000fe6a480c9fdae84 100644 --- a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle @@ -6,12 +6,8 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: *x = mat[1]; [alias] May-aliases at the end of instruction: - {*x, &mat[0]} are aliased [alias] analysing instruction: *y = *(*(x + 0)); [alias] May-aliases at the end of instruction: - {*x, &mat[0]} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {*x, &mat[0]} are aliased [alias] May-aliases at the end of function main: - {*x, &mat[0]} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle index 94844afe1a16786d8c4846cc5fab2c8fe20d8299..18e91430279aacda7352add24f3bfcab73e75795 100644 --- a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle @@ -1,29 +1,147 @@ [kernel] Parsing array3.c (with preprocessing) [kernel:typing:implicit-function-declaration] array3.c:6: Warning: Calling undeclared function malloc. Old style K&R code? +[alias] analysing function: asprintf +[alias] May-aliases at the end of function asprintf: +[alias] analysing function: clearerr +[alias] May-aliases at the end of function clearerr: +[alias] analysing function: clearerr_unlocked +[alias] May-aliases at the end of function clearerr_unlocked: +[alias] analysing function: fclose +[alias] May-aliases at the end of function fclose: +[alias] analysing function: fdopen +[alias] May-aliases at the end of function fdopen: +[alias] analysing function: feof +[alias] May-aliases at the end of function feof: +[alias] analysing function: feof_unlocked +[alias] May-aliases at the end of function feof_unlocked: +[alias] analysing function: ferror +[alias] May-aliases at the end of function ferror: +[alias] analysing function: ferror_unlocked +[alias] May-aliases at the end of function ferror_unlocked: +[alias] analysing function: fflush +[alias] May-aliases at the end of function fflush: +[alias] analysing function: fgetc +[alias] May-aliases at the end of function fgetc: +[alias] analysing function: fgetpos +[alias] May-aliases at the end of function fgetpos: +[alias] analysing function: fgets +[alias] May-aliases at the end of function fgets: +[alias] analysing function: fileno +[alias] May-aliases at the end of function fileno: +[alias] analysing function: fileno_unlocked +[alias] May-aliases at the end of function fileno_unlocked: +[alias] analysing function: flockfile +[alias] May-aliases at the end of function flockfile: +[alias] analysing function: fmemopen +[alias] May-aliases at the end of function fmemopen: +[alias] analysing function: fopen +[alias] May-aliases at the end of function fopen: +[alias] analysing function: fputc +[alias] May-aliases at the end of function fputc: +[alias] analysing function: fputs +[alias] May-aliases at the end of function fputs: +[alias] analysing function: fread +[alias] May-aliases at the end of function fread: +[alias] analysing function: freopen +[alias] May-aliases at the end of function freopen: +[alias] analysing function: fseek +[alias] May-aliases at the end of function fseek: +[alias] analysing function: fseeko +[alias] May-aliases at the end of function fseeko: +[alias] analysing function: fsetpos +[alias] May-aliases at the end of function fsetpos: +[alias] analysing function: ftell +[alias] May-aliases at the end of function ftell: +[alias] analysing function: ftello +[alias] May-aliases at the end of function ftello: +[alias] analysing function: ftrylockfile +[alias] May-aliases at the end of function ftrylockfile: +[alias] analysing function: funlockfile +[alias] May-aliases at the end of function funlockfile: +[alias] analysing function: fwrite +[alias] May-aliases at the end of function fwrite: +[alias] analysing function: getc +[alias] May-aliases at the end of function getc: +[alias] analysing function: getc_unlocked +[alias] May-aliases at the end of function getc_unlocked: +[alias] analysing function: getchar +[alias] May-aliases at the end of function getchar: +[alias] analysing function: getchar_unlocked +[alias] May-aliases at the end of function getchar_unlocked: +[alias] analysing function: gets +[alias] May-aliases at the end of function gets: +[alias] analysing function: main +[alias] analysing instruction: tmp = malloc((unsigned long)4 * sizeof(int)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *x = (int *)tmp; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: tmp_0 = malloc((unsigned long)4 * sizeof(int)); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: int *y = (int *)tmp_0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased + {y, tmp_0} are aliased +[alias] analysing instruction: x = mat[0]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased + {y, tmp_0} are aliased +[alias] analysing instruction: y = mat[1]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased + {y, tmp_0} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased + {y, tmp_0} are aliased [alias] May-aliases at the end of function main: - {x, tmp, y, tmp_0, &mat[0]} are aliased -Before statement tmp = malloc((unsigned long)4 * sizeof(int)); : - -Before statement int *x = (int *)tmp; : - -Before statement tmp_0 = malloc((unsigned long)4 * sizeof(int)); : - {x, tmp} are aliased - -Before statement int *y = (int *)tmp_0; : - {x, tmp} are aliased - -Before statement x = mat[0]; : - {x, tmp} are aliased -{y, tmp_0} are aliased - -Before statement y = mat[1]; : - {x, tmp, &mat[0]} are aliased -{y, tmp_0} are aliased - -Before statement __retres = 0; : - {x, tmp, y, tmp_0, &mat[0]} are aliased - -Before statement return __retres; : - {x, tmp, y, tmp_0, &mat[0]} are aliased - + {x, tmp} are aliased + {y, tmp_0} are aliased +[alias] analysing function: malloc +[alias] May-aliases at the end of function malloc: +[alias] analysing function: pclose +[alias] May-aliases at the end of function pclose: +[alias] analysing function: perror +[alias] May-aliases at the end of function perror: +[alias] analysing function: popen +[alias] May-aliases at the end of function popen: +[alias] analysing function: putc +[alias] May-aliases at the end of function putc: +[alias] analysing function: putc_unlocked +[alias] May-aliases at the end of function putc_unlocked: +[alias] analysing function: putchar +[alias] May-aliases at the end of function putchar: +[alias] analysing function: putchar_unlocked +[alias] May-aliases at the end of function putchar_unlocked: +[alias] analysing function: puts +[alias] May-aliases at the end of function puts: +[alias] analysing function: remove +[alias] May-aliases at the end of function remove: +[alias] analysing function: rename +[alias] May-aliases at the end of function rename: +[alias] analysing function: rewind +[alias] May-aliases at the end of function rewind: +[alias] analysing function: setbuf +[alias] May-aliases at the end of function setbuf: +[alias] analysing function: setvbuf +[alias] May-aliases at the end of function setvbuf: +[alias] analysing function: tmpfile +[alias] May-aliases at the end of function tmpfile: +[alias] analysing function: tmpnam +[alias] May-aliases at the end of function tmpnam: +[alias] analysing function: ungetc +[alias] May-aliases at the end of function ungetc: +[alias] analysing function: vfprintf +[alias] May-aliases at the end of function vfprintf: +[alias] analysing function: vfscanf +[alias] May-aliases at the end of function vfscanf: +[alias] analysing function: vprintf +[alias] May-aliases at the end of function vprintf: +[alias] analysing function: vscanf +[alias] May-aliases at the end of function vscanf: +[alias] analysing function: vsnprintf +[alias] May-aliases at the end of function vsnprintf: +[alias] analysing function: vsprintf +[alias] May-aliases at the end of function vsprintf: diff --git a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle index e75f816200c9ed621488d497da40828c84568060..625a0b7aea0fcf6150f5ef6ace312f1406af1c50 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle @@ -54,82 +54,73 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: tab_y[0] = & x1; [alias] May-aliases at the end of instruction: - {tab_y[0], &x1} are aliased [alias] analysing instruction: tab_y[1] = & x2; [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: st_2_t *z1 = malloc(sizeof(st_2_t)); [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: st_2_t *z2 = malloc(sizeof(st_2_t)); [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t)); [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: int *a = malloc(sizeof(int)); [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: int *b = malloc(sizeof(int)); [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: *a = 0; [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: *b = 5; [alias] May-aliases at the end of instruction: - {tab_y[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: z1->s = (struct struct_1_t *)tab_y[0]; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, tab_y[0], &x1, &x2} are aliased + {z1->s, tab_y[0]} are aliased [alias] analysing instruction: z2->s = (struct struct_1_t *)tab_y[1]; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased [alias] analysing instruction: z1->c = a; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z1->c, a} are aliased [alias] analysing instruction: z2->c = b; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z1->c, a} are aliased {z2->c, b} are aliased [alias] analysing instruction: t->t = (struct struct_2_t *)z1; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z1->c, a} are aliased {z2->c, b} are aliased {t->t, z1} are aliased [alias] analysing instruction: t->d = a; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z2->c, b} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z2->c, b} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased [alias] May-aliases at the end of function main: {x1, x2} are aliased - {z1->s, z2->s, tab_y[0], &x1, &x2} are aliased + {z1->s, z2->s, tab_y[0]} are aliased {z2->c, b} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle index ea8759ffcda1c332f69b2105260e3540c417d75e..7e366d279b711a6fe16556041ff95562f39df358 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle @@ -62,36 +62,29 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: z1->s[0] = (struct struct_1_t *)(& x1); [alias] May-aliases at the end of instruction: - {z1->s[0], &x1} are aliased [alias] analysing instruction: z1->s[1] = (struct struct_1_t *)(& x2); [alias] May-aliases at the end of instruction: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: z1->c = a; [alias] May-aliases at the end of instruction: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased {z1->c, a} are aliased [alias] analysing instruction: t->t = (struct struct_2_t *)z1; [alias] May-aliases at the end of instruction: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased {z1->c, a} are aliased {t->t, z1} are aliased [alias] analysing instruction: t->d = a; [alias] May-aliases at the end of instruction: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased [alias] May-aliases at the end of function main: - {z1->s[0], &x1, &x2} are aliased {x1, x2} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle index acecc959147d2ccf95095a72e48ddd6d235becd9..d5590da52b69a555d71399b0e61d506d633a61d3 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle @@ -6,23 +6,18 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: st_1_t *p_x = & x; [alias] May-aliases at the end of instruction: - {p_x, &x} are aliased [alias] analysing instruction: st_2_t *p_y = & y; [alias] May-aliases at the end of instruction: - {p_x, &x} are aliased - {p_y, &y} are aliased [alias] analysing instruction: p_x->a = 3; [alias] May-aliases at the end of instruction: - {p_x, &x} are aliased - {p_y, &y} are aliased [alias] analysing instruction: p_x = (st_1_t *)p_y; [alias] May-aliases at the end of instruction: - {p_x, p_y, &x, &y} are aliased + {p_x, p_y} are aliased {x, y} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {p_x, p_y, &x, &y} are aliased + {p_x, p_y} are aliased {x, y} are aliased [alias] May-aliases at the end of function main: - {p_x, p_y, &x, &y} are aliased + {p_x, p_y} are aliased {x, y} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle index cd8369ba04387bf4edf3ff952dcd95c6e64a4622..727282d1f44527b5d03f03974fdcf5a834da9d56 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle @@ -6,15 +6,11 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4}; [alias] May-aliases at the end of instruction: - {y.s, &x1} are aliased [alias] analysing instruction: y.s = (struct struct_1_t *)(& x2); [alias] May-aliases at the end of instruction: - {y.s, &x1, &x2} are aliased {x1, x2} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {y.s, &x1, &x2} are aliased {x1, x2} are aliased [alias] May-aliases at the end of function main: - {y.s, &x1, &x2} are aliased {x1, x2} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle index 348342593362321631b1e74a25104723609f22d3..ce6d4e5b70afa109d08305eee8ab208669648a28 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle @@ -7,40 +7,22 @@ [alias] analysing instruction: st_2_t y1 = {.s = (struct struct_1_t *)(& x1), .c = 3}; [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased [alias] analysing instruction: st_2_t y2 = {.s = (struct struct_1_t *)(& x2), .c = 4}; [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased [alias] analysing instruction: st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5}; [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased - {z.t, &y1} are aliased [alias] analysing instruction: z.t = (struct struct_2_t *)(& y2); [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased - {z.t, &y1, &y2} are aliased {y1, y2} are aliased [alias] analysing instruction: y1.c = z.d; [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased - {z.t, &y1, &y2} are aliased {y1, y2} are aliased {y1.c, y2.c} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased - {z.t, &y1, &y2} are aliased {y1, y2} are aliased {y1.c, y2.c} are aliased [alias] May-aliases at the end of function main: - {y1.s, &x1} are aliased - {y2.s, &x2} are aliased - {z.t, &y1, &y2} are aliased {y1, y2} are aliased {y1.c, y2.c} are aliased diff --git a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle index 80f114c1836194ed2bea80d9c5e99e594296745f..fd1a2a7ba4756f5d6bf2c38b1d53c2714cbdd1ab 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle @@ -58,18 +58,17 @@ [alias] May-aliases at the end of instruction: [alias] analysing instruction: y1 = & x1; [alias] May-aliases at the end of instruction: - {y1, &x1} are aliased [alias] analysing instruction: z->s = (struct struct_1_t *)y1; [alias] May-aliases at the end of instruction: - {z->s, y1, &x1} are aliased + {z->s, y1} are aliased [alias] analysing instruction: z->c = 6; [alias] May-aliases at the end of instruction: - {z->s, y1, &x1} are aliased + {z->s, y1} are aliased [alias] analysing instruction: __retres = 0; [alias] May-aliases at the end of instruction: - {z->s, y1, &x1} are aliased + {z->s, y1} are aliased [alias] May-aliases at the end of function main: - {z->s, y1, &x1} are aliased + {z->s, y1} are aliased [alias] analysing function: malloc [alias] May-aliases at the end of function malloc: [alias] analysing function: mblen diff --git a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle index eb87468f3c72c651d4511c16e04661c63dbad034..8ba5b51253f23056d578755195552c475316fbb2 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle @@ -1,46 +1,156 @@ [kernel] Parsing structure5.c (with preprocessing) +[alias] analysing function: _Exit +[alias] May-aliases at the end of function _Exit: +[alias] analysing function: abort +[alias] May-aliases at the end of function abort: +[alias] analysing function: abs +[alias] May-aliases at the end of function abs: +[alias] analysing function: at_quick_exit +[alias] May-aliases at the end of function at_quick_exit: +[alias] analysing function: atexit +[alias] May-aliases at the end of function atexit: +[alias] analysing function: atof +[alias] May-aliases at the end of function atof: +[alias] analysing function: atoi +[alias] May-aliases at the end of function atoi: +[alias] analysing function: atol +[alias] May-aliases at the end of function atol: +[alias] analysing function: atoll +[alias] May-aliases at the end of function atoll: +[alias] analysing function: bsearch +[alias] May-aliases at the end of function bsearch: +[alias] analysing function: calloc +[alias] May-aliases at the end of function calloc: +[alias] analysing function: div +[alias] May-aliases at the end of function div: +[alias] analysing function: drand48 +[alias] May-aliases at the end of function drand48: +[alias] analysing function: erand48 +[alias] May-aliases at the end of function erand48: +[alias] analysing function: exit +[alias] May-aliases at the end of function exit: +[alias] analysing function: free +[alias] May-aliases at the end of function free: +[alias] analysing function: getenv +[alias] May-aliases at the end of function getenv: +[alias] analysing function: jrand48 +[alias] May-aliases at the end of function jrand48: +[alias] analysing function: labs +[alias] May-aliases at the end of function labs: +[alias] analysing function: lcong48 +[alias] May-aliases at the end of function lcong48: +[alias] analysing function: ldiv +[alias] May-aliases at the end of function ldiv: +[alias] analysing function: llabs +[alias] May-aliases at the end of function llabs: +[alias] analysing function: lldiv +[alias] May-aliases at the end of function lldiv: +[alias] analysing function: lrand48 +[alias] May-aliases at the end of function lrand48: +[alias] analysing function: main +[alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_1_t *y1 = malloc(sizeof(st_1_t)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_2_t *z = malloc(sizeof(st_2_t)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *a = malloc(sizeof(int)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: *a = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: y1 = & x1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: z->s = (struct struct_1_t *)y1; +[alias] May-aliases at the end of instruction: + {z->s, y1} are aliased +[alias] analysing instruction: z->c = a; +[alias] May-aliases at the end of instruction: + {z->s, y1} are aliased + {z->c, a} are aliased +[alias] analysing instruction: t->t = (struct struct_2_t *)z; +[alias] May-aliases at the end of instruction: + {z->s, y1} are aliased + {z->c, a} are aliased + {t->t, z} are aliased +[alias] analysing instruction: t->d = a; +[alias] May-aliases at the end of instruction: + {z->s, y1} are aliased + {t->t, z} are aliased + {z->c, t->d, a} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {z->s, y1} are aliased + {t->t, z} are aliased + {z->c, t->d, a} are aliased [alias] May-aliases at the end of function main: - {z->s, y1, &x1} are aliased + {z->s, y1} are aliased {t->t, z} are aliased {z->c, t->d, a} are aliased -Before statement st_1_t x1 = {.a = 0, .b = 1}; : - -Before statement st_1_t x2 = {.a = 1, .b = 2}; : - -Before statement st_1_t *y1 = malloc(sizeof(st_1_t)); : - -Before statement st_2_t *z = malloc(sizeof(st_2_t)); : - -Before statement st_3_t *t = malloc(sizeof(st_3_t)); : - -Before statement int *a = malloc(sizeof(int)); : - -Before statement *a = 0; : - -Before statement y1 = & x1; : - -Before statement z->s = (struct struct_1_t *)y1; : - {y1, &x1} are aliased - -Before statement z->c = a; : - {z->s, y1, &x1} are aliased - -Before statement t->t = (struct struct_2_t *)z; : - {z->s, y1, &x1} are aliased -{z->c, a} are aliased - -Before statement t->d = a; : - {z->s, y1, &x1} are aliased -{z->c, a} are aliased -{t->t, z} are aliased - -Before statement __retres = 0; : - {z->s, y1, &x1} are aliased -{t->t, z} are aliased -{z->c, t->d, a} are aliased - -Before statement return __retres; : - {z->s, y1, &x1} are aliased -{t->t, z} are aliased -{z->c, t->d, a} are aliased - +[alias] analysing function: malloc +[alias] May-aliases at the end of function malloc: +[alias] analysing function: mblen +[alias] May-aliases at the end of function mblen: +[alias] analysing function: mbstowcs +[alias] May-aliases at the end of function mbstowcs: +[alias] analysing function: mbtowc +[alias] May-aliases at the end of function mbtowc: +[alias] analysing function: mkstemp +[alias] May-aliases at the end of function mkstemp: +[alias] analysing function: mkstemps +[alias] May-aliases at the end of function mkstemps: +[alias] analysing function: mrand48 +[alias] May-aliases at the end of function mrand48: +[alias] analysing function: nrand48 +[alias] May-aliases at the end of function nrand48: +[alias] analysing function: posix_memalign +[alias] May-aliases at the end of function posix_memalign: +[alias] analysing function: putenv +[alias] May-aliases at the end of function putenv: +[alias] analysing function: qsort +[alias] May-aliases at the end of function qsort: +[alias] analysing function: quick_exit +[alias] May-aliases at the end of function quick_exit: +[alias] analysing function: rand +[alias] May-aliases at the end of function rand: +[alias] analysing function: random +[alias] May-aliases at the end of function random: +[alias] analysing function: realloc +[alias] May-aliases at the end of function realloc: +[alias] analysing function: reallocarray +[alias] May-aliases at the end of function reallocarray: +[alias] analysing function: seed48 +[alias] May-aliases at the end of function seed48: +[alias] analysing function: setenv +[alias] May-aliases at the end of function setenv: +[alias] analysing function: srand +[alias] May-aliases at the end of function srand: +[alias] analysing function: srand48 +[alias] May-aliases at the end of function srand48: +[alias] analysing function: srandom +[alias] May-aliases at the end of function srandom: +[alias] analysing function: strtod +[alias] May-aliases at the end of function strtod: +[alias] analysing function: strtof +[alias] May-aliases at the end of function strtof: +[alias] analysing function: strtol +[alias] May-aliases at the end of function strtol: +[alias] analysing function: strtold +[alias] May-aliases at the end of function strtold: +[alias] analysing function: strtoll +[alias] May-aliases at the end of function strtoll: +[alias] analysing function: strtoul +[alias] May-aliases at the end of function strtoul: +[alias] analysing function: strtoull +[alias] May-aliases at the end of function strtoull: +[alias] analysing function: system +[alias] May-aliases at the end of function system: +[alias] analysing function: unsetenv +[alias] May-aliases at the end of function unsetenv: +[alias] analysing function: wcstombs +[alias] May-aliases at the end of function wcstombs: +[alias] analysing function: wctomb +[alias] May-aliases at the end of function wctomb: