diff --git a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle index 533a4a283605f8aeb5dd691a752496e3a7a455c7..2d4c8830c828330d5b96211f8841f8fc76253b3f 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle @@ -1,25 +1,24 @@ [kernel] Parsing assignment1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[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: b = c; +[alias] May-aliases at the end of instruction: + {a, b, c} are aliased +[alias] analysing instruction: a = d; +[alias] May-aliases at the end of instruction: + {a, b, c, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b, c, d} are aliased [alias] May-aliases at the end of function main: {a, b, c, d} are aliased -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement a = b; : - -Before statement b = c; : - {a, b} are aliased - -Before statement a = d; : - {a, b, c} are aliased - -Before statement __retres = 0; : - {a, b, c, d} are aliased - -Before statement return __retres; : - {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 543c44ff607e6ffcef28b473d9c6234b2ece78d6..18c5adee7ee025cc54b54a49907dbdf8dd671ff7 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle @@ -1,29 +1,28 @@ [kernel] Parsing assignment2.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int **a = (int **)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int **c = (int **)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[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 = d; +[alias] May-aliases at the end of instruction: + {*a, b} are aliased + {*c, d} are aliased +[alias] analysing instruction: a = c; +[alias] May-aliases at the end of instruction: + {a, c} are aliased + {*a, *c, b, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, c} are aliased + {*a, *c, b, d} are aliased [alias] May-aliases at the end of function main: {a, c} are aliased {*a, *c, b, d} are aliased -Before statement int **a = (int **)0; : - -Before statement int *b = (int *)0; : - -Before statement int **c = (int **)0; : - -Before statement int *d = (int *)0; : - -Before statement *a = b; : - -Before statement *c = d; : - {*a, b} are aliased - -Before statement a = c; : - {*a, b} are aliased -{*c, d} are aliased - -Before statement __retres = 0; : - {a, c} are aliased -{*a, *c, b, d} are aliased - -Before statement return __retres; : - {a, c} are aliased -{*a, *c, b, d} 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 421f8d8a689b3067bdc88fdc471c4e9826b8b468..ea0ba00323531a35ccdcc86db77627b9c06ef154 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle @@ -1,20 +1,19 @@ [kernel] Parsing assignment3.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int b = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[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 -Before statement int *a = (int *)0; : - -Before statement int b = 0; : - -Before statement int *c = (int *)0; : - -Before statement a = & b; : - -Before statement c = & b; : - {a, &b} are aliased - -Before statement __retres = 0; : - {a, c, &b} are aliased - -Before statement return __retres; : - {a, c, &b} 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 dfd7442f4ea8a7bbc72869261f0120a0c45e5b06..1ac19a8b178c43757cdb728b45f4faa504226181 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle @@ -1,26 +1,25 @@ [kernel] Parsing assignment4.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int **a = (int **)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int **c = (int **)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[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 = d; +[alias] May-aliases at the end of instruction: + {*a, b} are aliased + {*c, d} are aliased +[alias] analysing instruction: b = d; +[alias] May-aliases at the end of instruction: + {*a, *c, b, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {*a, *c, b, d} are aliased [alias] May-aliases at the end of function main: {*a, *c, b, d} are aliased -Before statement int **a = (int **)0; : - -Before statement int *b = (int *)0; : - -Before statement int **c = (int **)0; : - -Before statement int *d = (int *)0; : - -Before statement *a = b; : - -Before statement *c = d; : - {*a, b} are aliased - -Before statement b = d; : - {*a, b} are aliased -{*c, d} are aliased - -Before statement __retres = 0; : - {*a, *c, b, d} are aliased - -Before statement return __retres; : - {*a, *c, b, d} are aliased - diff --git a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle index 9f985ed670a26bb5e0c0d91ff76ea03fba67fdc3..361b6166dbdc7b84c194b09ca84af8240f422d64 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle @@ -1,29 +1,28 @@ [kernel] Parsing assignment5.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int ***a = (int ***)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int **b = (int **)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[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: *b = c; +[alias] May-aliases at the end of instruction: + {*a, b} are aliased + {*b, c} are aliased +[alias] analysing instruction: d = *(*a); +[alias] May-aliases at the end of instruction: + {*a, b} are aliased + {*(*a), *b, c, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {*a, b} are aliased + {*(*a), *b, c, d} are aliased [alias] May-aliases at the end of function main: {*a, b} are aliased {*(*a), *b, c, d} are aliased -Before statement int ***a = (int ***)0; : - -Before statement int **b = (int **)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement *a = b; : - -Before statement *b = c; : - {*a, b} are aliased - -Before statement d = *(*a); : - {*a, b} are aliased -{*b, c} are aliased - -Before statement __retres = 0; : - {*a, b} are aliased -{*(*a), *b, c, d} are aliased - -Before statement return __retres; : - {*a, b} are aliased -{*(*a), *b, c, d} are aliased - diff --git a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle index 9a17da89ca833b6a11e23f3d44f9afac19f36aa7..4652f0a890906318e1172f6e8ccb9f27bad03216 100644 --- a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle @@ -1,25 +1,24 @@ [kernel] Parsing cast1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: float *c = (float *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: float *d = (float *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a = (int *)c; +[alias] May-aliases at the end of instruction: + {a, c} are aliased +[alias] analysing instruction: d = (float *)b; +[alias] May-aliases at the end of instruction: + {a, c} are aliased + {b, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, c} are aliased + {b, d} are aliased [alias] May-aliases at the end of function main: {a, c} are aliased {b, d} are aliased -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement float *c = (float *)0; : - -Before statement float *d = (float *)0; : - -Before statement a = (int *)c; : - -Before statement d = (float *)b; : - {a, c} are aliased - -Before statement __retres = 0; : - {a, c} are aliased -{b, d} are aliased - -Before statement return __retres; : - {a, c} are aliased -{b, d} 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 bcc4b83a3544f3c1adbeb6c94256daff0e49e8cd..e67c88eaab990a9abec4cca4cc60802563086538 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle @@ -1,24 +1,22 @@ [kernel] Parsing conditional1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[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: a = c; +[alias] May-aliases at the end of instruction: + {a, c} are aliased +[alias] analysing instruction: *a = 4; +[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 -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement if (a) a = b; else a = c; : - -Before statement a = b; : - -Before statement a = c; : - -Before statement *a = 4; : - {a, b, c} are aliased - -Before statement __retres = 0; : - {a, b, c} are aliased - -Before statement return __retres; : - {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 1e6ad30b5289a5a3a3817f2fed527cfcf00e4bd8..194afa48bf6483d69f0fdce98080b19d2ed92310 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle @@ -1,39 +1,33 @@ [kernel] Parsing conditional2.c (with preprocessing) +[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 +[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 [alias] May-aliases at the end of function main: {d, &e} are aliased {a, b, &c} are aliased {c, &d} are aliased -Before statement b = & c; : - -Before statement c = & d; : - {b, &c} are aliased - -Before statement d = & e; : - {b, &c} are aliased -{c, &d} are aliased - -Before statement if (a) a = b; else a = & c; : - {b, &c} are aliased -{c, &d} are aliased -{d, &e} are aliased - -Before statement a = b; : - {b, &c} are aliased -{c, &d} are aliased -{d, &e} are aliased - -Before statement a = & c; : - {b, &c} are aliased -{c, &d} are aliased -{d, &e} are aliased - -Before statement __retres = 0; : - {d, &e} are aliased -{a, b, &c} are aliased -{c, &d} are aliased - -Before statement return __retres; : - {d, &e} are aliased -{a, b, &c} are aliased -{c, &d} 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 18e2d97de5d8f4a66cf12f83e4254ac8c0ba8601..b6e57cde5b1b7fbc9e0787563118facf28049786 100644 --- a/src/plugins/alias/tests/basic/oracle/function1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function1.res.oracle @@ -1,40 +1,43 @@ [kernel] Parsing function1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: swap(a,b); +[alias] analysing function: swap +[alias] analysing instruction: int *z = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: z = x; +[alias] May-aliases at the end of instruction: + {x, z} are aliased +[alias] analysing instruction: x = y; +[alias] May-aliases at the end of instruction: + {x, y, z} are aliased +[alias] analysing instruction: y = z; +[alias] May-aliases at the end of instruction: + {x, y, z} are aliased +[alias] May-aliases at the end of function swap: + {x, y, z} are aliased +[alias] May-aliases at the end of instruction: + {a, b} are aliased +[alias] analysing instruction: swap(c,d); +[alias] May-aliases at the end of instruction: + {a, b} are aliased + {c, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b} are aliased + {c, d} are aliased [alias] May-aliases at the end of function main: {a, b} are aliased {c, d} are aliased -Before statement int *z = (int *)0; : - -Before statement return __retres; : - {a, b} are aliased -{c, d} are aliased - -Before statement int *z = (int *)0; : - -Before statement z = x; : - -Before statement x = y; : - {x, z} are aliased - -Before statement y = z; : - {x, y, z} are aliased - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement swap(a,b); : - -Before statement swap(c,d); : - {a, b} are aliased - -Before statement __retres = 0; : - {a, b} are aliased -{c, d} are aliased - -Before statement return; : - {x, y, z} are aliased - +[alias] analysing function: swap +[alias] analysing instruction: int *z = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] May-aliases at the end of function swap: + {x, y, z} are aliased diff --git a/src/plugins/alias/tests/basic/oracle/function2.res.oracle b/src/plugins/alias/tests/basic/oracle/function2.res.oracle index 9f7ebeed03bc822b7dc0cf3b14998eec66d9ada5..fdeb62fc4526dd019743af335ad8b63b8e0c8395 100644 --- a/src/plugins/alias/tests/basic/oracle/function2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function2.res.oracle @@ -1,22 +1,135 @@ [kernel] Parsing function2.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: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a = my_malloc(2); +[alias] analysing function: my_malloc +[alias] analysing instruction: int *res = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: res = (int *)malloc((size_t)size); +[alias] May-aliases at the end of instruction: +[alias] May-aliases at the end of function my_malloc: +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: b = my_malloc(3); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: [alias] May-aliases at the end of function main: -Before statement int *res = (int *)0; : - -Before statement int *res = (int *)0; : - -Before statement res = (int *)malloc((size_t)size); : - -Before statement return res; : - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement a = my_malloc(2); : - -Before statement b = my_malloc(3); : - -Before statement __retres = 0; : - -Before statement return __retres; : - +[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: my_malloc +[alias] analysing instruction: int *res = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] May-aliases at the end of function my_malloc: +[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: diff --git a/src/plugins/alias/tests/basic/oracle/function3.res.oracle b/src/plugins/alias/tests/basic/oracle/function3.res.oracle index 45664b0859cc7abddb7a602a457da4005709a425..d1cea672b571d75ec1b0c5d20f6acc7eb0e1a944 100644 --- a/src/plugins/alias/tests/basic/oracle/function3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function3.res.oracle @@ -1,54 +1,39 @@ [kernel] Parsing function3.c (with preprocessing) +[alias] analysing function: f1 +[alias] analysing instruction: int *tmp = x; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: x = y; +[alias] May-aliases at the end of instruction: + {x, y, tmp} are aliased +[alias] analysing instruction: y = tmp; +[alias] May-aliases at the end of instruction: + {x, y, tmp} are aliased +[alias] analysing instruction: __retres = (void *)0; +[alias] May-aliases at the end of instruction: + {x, y, tmp} are aliased +[alias] May-aliases at the end of function f1: + {x, y, tmp} are aliased +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: f1(a,b); +[alias] May-aliases at the end of instruction: + {a, b} are aliased +[alias] analysing instruction: f1(c,d); +[alias] May-aliases at the end of instruction: + {a, b} are aliased + {c, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b} are aliased + {c, d} are aliased [alias] May-aliases at the end of function main: {a, b} are aliased {c, d} are aliased -Before statement return __retres; : - {x, y, tmp} are aliased - -Before statement int *tmp = x; : - -Before statement while (1) { - x = y; - y = tmp; - break; - } : - {x, tmp} are aliased - -Before statement return __retres; : - {a, b} are aliased -{c, d} are aliased - -Before statement x = y; - y = tmp; - break; : - {x, tmp} are aliased - -Before statement x = y; : - {x, tmp} are aliased - -Before statement y = tmp; : - {x, y, tmp} are aliased - -Before statement break; : - {x, y, tmp} are aliased - -Before statement __retres = (void *)0; : - {x, y, tmp} are aliased - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement f1(a,b); : - -Before statement f1(c,d); : - {a, b} are aliased - -Before statement __retres = 0; : - {a, b} are aliased -{c, d} 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 ea46094333a948875b2158a8d9ccf4137e9ff479..ed47931573bb2422f22d2be5f86431d8c23dfe39 100644 --- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle @@ -1,22 +1,21 @@ [kernel] Parsing function4.c (with preprocessing) +[alias] analysing function: addr +[alias] May-aliases at the end of function addr: +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int c = 0; +[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 -Before statement return x; : - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int c = 0; : - -Before statement a = addr(& c); : - -Before statement b = & c; : - {a, &c} are aliased - -Before statement __retres = 0; : - {a, b, &c} are aliased - -Before statement return __retres; : - {a, b, &c} 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 d2eb85709323df7edc56b5aa8db05bacf1aae937..fda3e6192259580117c613b03416698aecc7cb6c 100644 --- a/src/plugins/alias/tests/basic/oracle/function5.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function5.res.oracle @@ -1,47 +1,27 @@ [kernel] Parsing function5.c (with preprocessing) +[alias] analysing function: choice +[alias] analysing instruction: int c = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = x; +[alias] May-aliases at the end of instruction: + {x, __retres} are aliased +[alias] analysing instruction: __retres = y; +[alias] May-aliases at the end of instruction: + {y, __retres} are aliased +[alias] May-aliases at the end of function choice: + {x, y, __retres} are aliased +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: c = choice(a,b); +[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 -Before statement goto return_label; : - {x, __retres} are aliased - -Before statement __retres = y; - goto return_label; : - -Before statement int c = 0; : - -Before statement goto return_label; : - {y, __retres} are aliased - -Before statement return_label: return __retres; : - {x, y, __retres} are aliased - -Before statement if (c) { - __retres = x; - goto return_label; - } - else { - __retres = y; - goto return_label; - } : - -Before statement return __retres; : - {a, b, c} are aliased - -Before statement __retres = x; : - -Before statement __retres = y; : - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement c = choice(a,b); : - -Before statement __retres = 0; : - {a, b, c} are aliased - -Before statement __retres = x; - goto return_label; : - 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 9409d446e82f78cd705572b02598fd96a2054d1d..287860520ec412ce38902cb9bf5b150455e79122 100644 --- a/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/if_then1.res.oracle @@ -1,37 +1,32 @@ [kernel] Parsing if_then1.c (with preprocessing) +[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 -Before statement a = & x; : - -Before statement b = & y; : - {a, &x} are aliased - -Before statement if (p) y = & z; else y = & x; : - {a, &x} are aliased -{b, &y} are aliased - -Before statement y = & z; : - {a, &x} are aliased -{b, &y} are aliased - -Before statement y = & x; : - {a, &x} are aliased -{b, &y} are aliased - -Before statement c = & y; : - {a, y, &x, &z} are aliased -{x, z} are aliased -{b, &y} are aliased - -Before statement __retres = 0; : - {x, z} are aliased -{b, c, &y} are aliased -{a, y, &x, &z} are aliased - -Before statement return __retres; : - {x, z} are aliased -{b, c, &y} are aliased -{a, y, &x, &z} 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 e028f12d8d38f09723c26012dadb4339ab69b387..857747d83302c2acec12f304aa857946ebd95ccb 100644 --- a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle @@ -1,36 +1,23 @@ [kernel] Parsing switch1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int e = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: case 1: a = d; +[alias] May-aliases at the end of instruction: + {a, d} are aliased +[alias] analysing instruction: case 2: b = d; +[alias] May-aliases at the end of instruction: + {b, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b, d} are aliased [alias] May-aliases at the end of function main: {a, b, d} are aliased -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement int e = 0; : - -Before statement switch (e) { - case 1: a = d; - break; - case 2: b = d; - break; - } : - -Before statement case 1: a = d; : - -Before statement break; : - {a, d} are aliased - -Before statement case 2: b = d; : - -Before statement break; : - {b, d} are aliased - -Before statement __retres = 0; : - {a, b, d} are aliased - -Before statement return __retres; : - {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 6fcd78115e67ea11ee2c2064a3b6396a82b4eb3e..141cc19b1c3ee26899a6ba4f7c8439520af1a5b3 100644 --- a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle @@ -1,39 +1,26 @@ [kernel] Parsing switch2.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *d = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int e = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: case 1: a = d; +[alias] May-aliases at the end of instruction: + {a, d} are aliased +[alias] analysing instruction: case 2: b = d; +[alias] May-aliases at the end of instruction: + {b, d} are aliased +[alias] analysing instruction: default: c = d; +[alias] May-aliases at the end of instruction: + {c, d} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b, c, d} are aliased [alias] May-aliases at the end of function main: {a, b, c, d} are aliased -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement int *d = (int *)0; : - -Before statement int e = 0; : - -Before statement switch (e) { - case 1: a = d; - break; - case 2: b = d; - break; - default: c = d; - } : - -Before statement case 1: a = d; : - -Before statement break; : - {a, d} are aliased - -Before statement case 2: b = d; : - -Before statement break; : - {b, d} are aliased - -Before statement default: c = d; : - -Before statement __retres = 0; : - {a, b, c, d} are aliased - -Before statement return __retres; : - {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 cc8081857b01908f62d1f6e5089add770225c2b7..a4e37106253af3a3ec668a07edce55c63160177d 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle @@ -1,33 +1,127 @@ [kernel] Parsing while_for1.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: int *s = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int idx = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: s = (int *)malloc((size_t)idx); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: idx ++; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: s = (int *)malloc((size_t)idx); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: [alias] May-aliases at the end of function main: -Before statement int *s = (int *)0; : - -Before statement { - int idx = 0; - while (idx < 10) { - s = (int *)malloc((size_t)idx); - idx ++; - } - } : - -Before statement int idx = 0; : - -Before statement while (idx < 10) { - s = (int *)malloc((size_t)idx); - idx ++; - } : - -Before statement if (! (idx < 10)) break; : - -Before statement break; : - -Before statement s = (int *)malloc((size_t)idx); : - -Before statement s = (int *)malloc((size_t)idx); : - -Before statement idx ++; : - -Before statement __retres = 0; : - -Before statement return __retres; : - +[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: 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 597bc30773b6ee85751ec8c73646f05443f48d19..02504d97a2b77d6755d3ff029d662d3c0324a053 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle @@ -1,43 +1,16 @@ [kernel] Parsing while_for2.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[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: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b} are aliased [alias] May-aliases at the end of function main: {a, b} are aliased -Before statement return __retres; : - {a, b} are aliased - -Before statement int *a = (int *)0; : - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement while (1) { - a = b; - break; - } : - -Before statement a = b; - break; : - -Before statement a = b; : - -Before statement break; : - {a, b} are aliased - -Before statement while (1) { - break; - a = c; - break; - } : - {a, b} are aliased - -Before statement break; - a = c; - break; : - {a, b} are aliased - -Before statement break; : - {a, b} are aliased - -Before statement __retres = 0; : - {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 6cd62dca8623387b6153af0a777989669ec9818a..46bef75b26708905fc0da66a3ef7acbc0784ae2d 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle @@ -1,59 +1,24 @@ [kernel] Parsing while_for3.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: int *a = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *b = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int *c = (int *)0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int i = 0; +[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: __Cont: i ++; +[alias] May-aliases at the end of instruction: + {a, b} are aliased +[alias] analysing instruction: a = b; +[alias] May-aliases at the end of instruction: + {a, b} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a, b} are aliased [alias] May-aliases at the end of function main: {a, b} are aliased -Before statement __retres = 0; : - {a, b} are aliased - -Before statement int *a = (int *)0; : - -Before statement return __retres; : - {a, b} are aliased - -Before statement int *b = (int *)0; : - -Before statement int *c = (int *)0; : - -Before statement { - int i = 0; - while (i < 10) { - a = b; - goto __Cont; - a = c; - __Cont: i ++; - } - } : - -Before statement int i = 0; : - -Before statement while (i < 10) { - a = b; - goto __Cont; - a = c; - __Cont: i ++; - } : - {a, b} are aliased - -Before statement if (! (i < 10)) break; : - {a, b} are aliased - -Before statement break; : - {a, b} are aliased - -Before statement a = b; - goto __Cont; - a = c; : - {a, b} are aliased - -Before statement a = b; - goto __Cont; : - {a, b} are aliased - -Before statement a = b; : - {a, b} are aliased - -Before statement goto __Cont; : - {a, b} are aliased - -Before statement __Cont: i ++; : - {a, b} 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 a53c74c08487694afb33716492889cfb28b38e56..a4e66896abccb2febc2c47213595fcf58922ce6d 100644 --- a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle @@ -1,23 +1,22 @@ [kernel] Parsing array1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: tab[0] = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: tab[1] = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: tab[2] = tab[1] + 1; +[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 -Before statement tab[0] = 0; : - -Before statement tab[1] = 1; : - -Before statement tab[2] = tab[1] + 1; : - -Before statement int *x = & tab[1]; : - -Before statement int *y = & tab[2]; : - {x, &tab[0]} are aliased - -Before statement tab[3] = *x + *y; : - {x, y, &tab[0]} are aliased - -Before statement __retres = 0; : - {x, y, &tab[0]} are aliased - -Before statement return __retres; : - {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 8ad1a4522ed96890c8f9f2175f9f8e6445175f77..079b9221eddf6f8240ca09051791ad3abe7eff32 100644 --- a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle @@ -1,18 +1,17 @@ [kernel] Parsing array2.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: mat[0][0] = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[0][1] = 1; +[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 -Before statement mat[0][0] = 0; : - -Before statement mat[0][1] = 1; : - -Before statement *x = mat[1]; : - -Before statement *y = *(*(x + 0)); : - {*x, &mat[0]} are aliased - -Before statement __retres = 0; : - {*x, &mat[0]} are aliased - -Before statement return __retres; : - {*x, &mat[0]} are aliased - diff --git a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle index 5d116c4ee27a733a8c9c6fe50210ba6ef0c556e5..51b2107ef98e603c7f5d3a3d549d581ad7d70884 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle @@ -1,37 +1,21 @@ [kernel] Parsing collapse1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: tab[0] = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: tab[1] = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: tab[2] = tab[1] + 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int x = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int i = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: x = tab[i]; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i ++; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: x = tab[i]; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: [alias] May-aliases at the end of function main: -Before statement tab[0] = 0; : - -Before statement tab[1] = 1; : - -Before statement tab[2] = tab[1] + 1; : - -Before statement int x = 0; : - -Before statement { - int i = 0; - while (i < 2) { - x = tab[i]; - i ++; - } - } : - -Before statement int i = 0; : - -Before statement while (i < 2) { - x = tab[i]; - i ++; - } : - -Before statement if (! (i < 2)) break; : - -Before statement break; : - -Before statement x = tab[i]; : - -Before statement i ++; : - -Before statement __retres = 0; : - -Before statement return __retres; : - diff --git a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle index ca058b7df28969b9e40e6a319a5d3093cf0847a0..ae37ec3288a950fdc8a7fdef9592971e1c69779c 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle @@ -1,18 +1,17 @@ [kernel] Parsing collapse2.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: mat[0][0] = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[0][1] = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int i = 2; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[1][i] = i; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i ++; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[1][i] = 2; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: [alias] May-aliases at the end of function main: -Before statement mat[0][0] = 0; : - -Before statement mat[0][1] = 1; : - -Before statement int i = 2; : - -Before statement mat[1][i] = i; : - -Before statement i ++; : - -Before statement mat[1][i] = 2; : - -Before statement __retres = 0; : - -Before statement return __retres; : - diff --git a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle index e81f32e44cf5f94a530bb091f20c94ba3b787bdd..656e44bb1fa47ebba0320151ad50c8e25c0522d7 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle @@ -1,18 +1,17 @@ [kernel] Parsing collapse3.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: mat[0][0] = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[0][1] = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: int i = 2; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[i][1] = i; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i ++; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: mat[i][1] = 2; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: [alias] May-aliases at the end of function main: -Before statement mat[0][0] = 0; : - -Before statement mat[0][1] = 1; : - -Before statement int i = 2; : - -Before statement mat[i][1] = i; : - -Before statement i ++; : - -Before statement mat[i][1] = 2; : - -Before statement __retres = 0; : - -Before statement return __retres; : - diff --git a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle index c9fb776f973d4d4b954e198e75166ee9631d5430..e75f816200c9ed621488d497da40828c84568060 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle @@ -1,88 +1,199 @@ [kernel] Parsing nested1.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: 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 +[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 +[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->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->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->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 + {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 + {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 {z2->c, b} are aliased {t->t, z1} are aliased {z1->c, t->d, a} are aliased -Before statement t->t = (struct struct_2_t *)z1; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased -{z1->c, a} are aliased -{z2->c, b} are aliased - -Before statement t->d = a; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased -{z1->c, a} are aliased -{z2->c, b} are aliased -{t->t, z1} are aliased - -Before statement st_1_t x1 = {.a = 0, .b = 1}; : - -Before statement __retres = 0; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased -{z2->c, b} are aliased -{t->t, z1} are aliased -{z1->c, t->d, a} are aliased - -Before statement st_1_t x2 = {.a = 1, .b = 2}; : - -Before statement tab_y[0] = & x1; : - -Before statement return __retres; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased -{z2->c, b} are aliased -{t->t, z1} are aliased -{z1->c, t->d, a} are aliased - -Before statement tab_y[1] = & x2; : - {tab_y[0], &x1} are aliased - -Before statement st_2_t *z1 = malloc(sizeof(st_2_t)); : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement st_2_t *z2 = malloc(sizeof(st_2_t)); : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement st_3_t *t = malloc(sizeof(st_3_t)); : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement int *a = malloc(sizeof(int)); : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement int *b = malloc(sizeof(int)); : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement *a = 0; : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement *b = 5; : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement z1->s = (struct struct_1_t *)tab_y[0]; : - {tab_y[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement z2->s = (struct struct_1_t *)tab_y[1]; : - {x1, x2} are aliased -{z1->s, tab_y[0], &x1, &x2} are aliased - -Before statement z1->c = a; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased - -Before statement z2->c = b; : - {x1, x2} are aliased -{z1->s, z2->s, tab_y[0], &x1, &x2} are aliased -{z1->c, 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: diff --git a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle index 36fc82c09fac96d711fa67d6b70968aba8caaffd..ea8759ffcda1c332f69b2105260e3540c417d75e 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle @@ -1,50 +1,161 @@ [kernel] Parsing nested2.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 = 2, .b = 3}; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_2_t *z1 = 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: 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 -Before statement st_1_t x1 = {.a = 0, .b = 1}; : - -Before statement st_1_t x2 = {.a = 2, .b = 3}; : - -Before statement st_2_t *z1 = 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 z1->s[0] = (struct struct_1_t *)(& x1); : - -Before statement z1->s[1] = (struct struct_1_t *)(& x2); : - {z1->s[0], &x1} are aliased - -Before statement z1->c = a; : - {z1->s[0], &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement t->t = (struct struct_2_t *)z1; : - {z1->s[0], &x1, &x2} are aliased -{x1, x2} are aliased -{z1->c, a} are aliased - -Before statement t->d = a; : - {z1->s[0], &x1, &x2} are aliased -{x1, x2} are aliased -{z1->c, a} are aliased -{t->t, z1} are aliased - -Before statement __retres = 0; : - {z1->s[0], &x1, &x2} are aliased -{x1, x2} are aliased -{t->t, z1} are aliased -{z1->c, t->d, a} are aliased - -Before statement return __retres; : - {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 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: diff --git a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle index 96f68bb686ca57a303679fafd71b46025d64091f..acecc959147d2ccf95095a72e48ddd6d235becd9 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle @@ -1,29 +1,28 @@ [kernel] Parsing structure1.c (with preprocessing) +[alias] analysing function: main +[alias] analysing instruction: st_1_t x = {.a = 0, .b = 1}; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: st_2_t y = {.a = 3, .c = 4}; +[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 + {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 + {x, y} are aliased [alias] May-aliases at the end of function main: {p_x, p_y, &x, &y} are aliased {x, y} are aliased -Before statement st_1_t x = {.a = 0, .b = 1}; : - -Before statement st_2_t y = {.a = 3, .c = 4}; : - -Before statement st_1_t *p_x = & x; : - -Before statement st_2_t *p_y = & y; : - {p_x, &x} are aliased - -Before statement p_x->a = 3; : - {p_x, &x} are aliased -{p_y, &y} are aliased - -Before statement p_x = (st_1_t *)p_y; : - {p_x, &x} are aliased -{p_y, &y} are aliased - -Before statement __retres = 0; : - {p_x, p_y, &x, &y} are aliased -{x, y} are aliased - -Before statement return __retres; : - {p_x, p_y, &x, &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 36f888d74c7b4679471b55d21ab5deed72ae1e27..cd8369ba04387bf4edf3ff952dcd95c6e64a4622 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle @@ -1,21 +1,20 @@ [kernel] Parsing structure2.c (with preprocessing) +[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_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 -Before statement st_1_t x1 = {.a = 0, .b = 1}; : - -Before statement st_1_t x2 = {.a = 1, .b = 2}; : - -Before statement st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4}; : - -Before statement y.s = (struct struct_1_t *)(& x2); : - {y.s, &x1} are aliased - -Before statement __retres = 0; : - {y.s, &x1, &x2} are aliased -{x1, x2} are aliased - -Before statement return __retres; : - {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 4a64164df6945fe40a1e712e38b29a59af047e84..348342593362321631b1e74a25104723609f22d3 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle @@ -1,45 +1,46 @@ [kernel] Parsing structure3.c (with preprocessing) +[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_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 -Before statement st_1_t x1 = {.a = 0, .b = 1}; : - -Before statement st_1_t x2 = {.a = 1, .b = 2}; : - -Before statement st_2_t y1 = {.s = (struct struct_1_t *)(& x1), .c = 3}; : - -Before statement st_2_t y2 = {.s = (struct struct_1_t *)(& x2), .c = 4}; : - {y1.s, &x1} are aliased - -Before statement st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5}; : - {y1.s, &x1} are aliased -{y2.s, &x2} are aliased - -Before statement z.t = (struct struct_2_t *)(& y2); : - {y1.s, &x1} are aliased -{y2.s, &x2} are aliased -{z.t, &y1} are aliased - -Before statement y1.c = z.d; : - {y1.s, &x1} are aliased -{y2.s, &x2} are aliased -{z.t, &y1, &y2} are aliased -{y1, y2} are aliased - -Before statement __retres = 0; : - {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 - -Before statement return __retres; : - {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 f96627f383bc4132c9d3fd33bf192d7a1577d4ff..80f114c1836194ed2bea80d9c5e99e594296745f 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle @@ -1,25 +1,136 @@ [kernel] Parsing structure4.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: 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 +[alias] analysing instruction: z->c = 6; +[alias] May-aliases at the end of instruction: + {z->s, y1, &x1} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {z->s, y1, &x1} are aliased [alias] May-aliases at the end of function main: {z->s, y1, &x1} 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 y1 = & x1; : - -Before statement z->s = (struct struct_1_t *)y1; : - {y1, &x1} are aliased - -Before statement z->c = 6; : - {z->s, y1, &x1} are aliased - -Before statement __retres = 0; : - {z->s, y1, &x1} are aliased - -Before statement return __retres; : - {z->s, y1, &x1} 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: 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 d33b5b978a068e2c3c3e8293ade77a050c9b6666..6d0e0d4fa68f1e5eac28e6d44c25d28ef6c5f1a4 100644 --- a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle +++ b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle @@ -1,265 +1,447 @@ [kernel] Parsing example1.c (with preprocessing) +[alias] analysing function: _Exit +[alias] May-aliases at the end of function _Exit: +[alias] analysing function: __fc_fpclassify +[alias] May-aliases at the end of function __fc_fpclassify: +[alias] analysing function: __fc_fpclassifyf +[alias] May-aliases at the end of function __fc_fpclassifyf: +[alias] analysing function: __fc_infinity +[alias] May-aliases at the end of function __fc_infinity: +[alias] analysing function: __fc_nan +[alias] May-aliases at the end of function __fc_nan: +[alias] analysing function: __finite +[alias] May-aliases at the end of function __finite: +[alias] analysing function: __finitef +[alias] May-aliases at the end of function __finitef: +[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: acos +[alias] May-aliases at the end of function acos: +[alias] analysing function: acosf +[alias] May-aliases at the end of function acosf: +[alias] analysing function: acosh +[alias] May-aliases at the end of function acosh: +[alias] analysing function: acoshf +[alias] May-aliases at the end of function acoshf: +[alias] analysing function: acoshl +[alias] May-aliases at the end of function acoshl: +[alias] analysing function: acosl +[alias] May-aliases at the end of function acosl: +[alias] analysing function: asin +[alias] May-aliases at the end of function asin: +[alias] analysing function: asinf +[alias] May-aliases at the end of function asinf: +[alias] analysing function: asinl +[alias] May-aliases at the end of function asinl: +[alias] analysing function: at_quick_exit +[alias] May-aliases at the end of function at_quick_exit: +[alias] analysing function: atan +[alias] May-aliases at the end of function atan: +[alias] analysing function: atan2 +[alias] May-aliases at the end of function atan2: +[alias] analysing function: atan2f +[alias] May-aliases at the end of function atan2f: +[alias] analysing function: atan2l +[alias] May-aliases at the end of function atan2l: +[alias] analysing function: atanf +[alias] May-aliases at the end of function atanf: +[alias] analysing function: atanl +[alias] May-aliases at the end of function atanl: +[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: ceil +[alias] May-aliases at the end of function ceil: +[alias] analysing function: ceilf +[alias] May-aliases at the end of function ceilf: +[alias] analysing function: ceill +[alias] May-aliases at the end of function ceill: +[alias] analysing function: cos +[alias] May-aliases at the end of function cos: +[alias] analysing function: cosf +[alias] May-aliases at the end of function cosf: +[alias] analysing function: cosl +[alias] May-aliases at the end of function cosl: +[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: exp +[alias] May-aliases at the end of function exp: +[alias] analysing function: expf +[alias] May-aliases at the end of function expf: +[alias] analysing function: f1 +[alias] analysing instruction: ty *tmp = x; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx = 0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: tmp_1 = sin(*(idata + idx)); +[alias] analysing function: sin +[alias] May-aliases at the end of function sin: [alias] Warning: a function with no return is employed in an assignment +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx ++; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] Warning: a function with no return is employed in an assignment +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: swap(tmp->n1); +[alias] analysing function: swap +[alias] analysing instruction: *n = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: (*n) ++; +[alias] May-aliases at the end of instruction: +[alias] May-aliases at the end of function swap: +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx = 0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] Warning: a function with no return is employed in an assignment +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx ++; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: swap(tmp->n1); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased [alias] Warning: Analysis is continuing but will not be sound +[alias] May-aliases at the end of function f1: +[alias] analysing function: f2 +[alias] analysing instruction: ty *tmp = x; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx = 0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx ++; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: swap(tmp->n2); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx = 0; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: idx ++; +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased +[alias] analysing instruction: swap(tmp->n2); +[alias] May-aliases at the end of instruction: + {x, tmp} are aliased [alias] Warning: Analysis is continuing but will not be sound +[alias] May-aliases at the end of function f2: +[alias] analysing function: fabs +[alias] May-aliases at the end of function fabs: +[alias] analysing function: fabsf +[alias] May-aliases at the end of function fabsf: +[alias] analysing function: fabsl +[alias] May-aliases at the end of function fabsl: +[alias] analysing function: floor +[alias] May-aliases at the end of function floor: +[alias] analysing function: floorf +[alias] May-aliases at the end of function floorf: +[alias] analysing function: floorl +[alias] May-aliases at the end of function floorl: +[alias] analysing function: fmod +[alias] May-aliases at the end of function fmod: +[alias] analysing function: fmodf +[alias] May-aliases at the end of function fmodf: +[alias] analysing function: free +[alias] May-aliases at the end of function free: +[alias] analysing function: frexp +[alias] May-aliases at the end of function frexp: +[alias] analysing function: frexpf +[alias] May-aliases at the end of function frexpf: +[alias] analysing function: frexpl +[alias] May-aliases at the end of function frexpl: +[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: ldexp +[alias] May-aliases at the end of function ldexp: +[alias] analysing function: ldexpf +[alias] May-aliases at the end of function ldexpf: +[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: log +[alias] May-aliases at the end of function log: +[alias] analysing function: log10 +[alias] May-aliases at the end of function log10: +[alias] analysing function: log10f +[alias] May-aliases at the end of function log10f: +[alias] analysing function: log10l +[alias] May-aliases at the end of function log10l: +[alias] analysing function: log2 +[alias] May-aliases at the end of function log2: +[alias] analysing function: log2f +[alias] May-aliases at the end of function log2f: +[alias] analysing function: log2l +[alias] May-aliases at the end of function log2l: +[alias] analysing function: logf +[alias] May-aliases at the end of function logf: +[alias] analysing function: logl +[alias] May-aliases at the end of function logl: +[alias] analysing function: lrand48 +[alias] May-aliases at the end of function lrand48: +[alias] analysing function: main +[alias] analysing instruction: a = (ty *)malloc(sizeof(ty)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: b = (ty *)malloc(sizeof(ty)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i ++; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->n1 = (int *)malloc(sizeof(int)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: a->n2 = (int *)malloc(sizeof(int)); +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: *(a->n1) = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: *(a->n2) = 1; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: i = 0; +[alias] May-aliases at the end of instruction: +[alias] analysing instruction: b->t1[i] = a->t1[i]; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased +[alias] analysing instruction: b->t2[i] = a->t2[i]; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased +[alias] analysing instruction: i ++; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased +[alias] analysing instruction: b->t1[i] = a->t1[i]; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased +[alias] analysing instruction: b->t2[i] = a->t2[i]; +[alias] May-aliases at the end of instruction: + {a->t2[0], b->t2[0]} are aliased + {a->t1[0], b->t1[0]} are aliased +[alias] analysing instruction: b->n1 = a->n1; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased + {a->n1, b->n1} are aliased +[alias] analysing instruction: b->n2 = a->n2; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased + {a->n1, b->n1} are aliased + {a->n2, b->n2} are aliased +[alias] analysing instruction: f1(a); +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased + {a->n1, b->n1} are aliased + {a->n2, b->n2} are aliased +[alias] analysing instruction: f2(b); +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased + {a->n1, b->n1} are aliased + {a->n2, b->n2} are aliased +[alias] analysing instruction: __retres = 0; +[alias] May-aliases at the end of instruction: + {a->t1[0], b->t1[0]} are aliased + {a->t2[0], b->t2[0]} are aliased + {a->n1, b->n1} are aliased + {a->n2, b->n2} are aliased [alias] May-aliases at the end of function main: {a->t1[0], b->t1[0]} are aliased {a->t2[0], b->t2[0]} are aliased {a->n1, b->n1} are aliased {a->n2, b->n2} are aliased -Before statement b->t1[i] = a->t1[i]; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement idx = 0; : - {x, tmp} are aliased - -Before statement b->t2[i] = a->t2[i]; : - {a->t2[0], b->t2[0]} are aliased -{a->t1[0], b->t1[0]} are aliased - -Before statement while (idx < 10) { - *(odata + idx) = (double)3 * *(idata + idx) + (double)1; - idx ++; - } : - {x, tmp} are aliased - -Before statement if (*n == 1) *n = 0; else (*n) ++; : - -Before statement i ++; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement if (*n == 1) *n = 0; else (*n) ++; : - -Before statement b->n1 = a->n1; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement if (! (idx < 10)) break; : - {x, tmp} are aliased - -Before statement *n = 0; : - -Before statement b->n2 = a->n2; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased -{a->n1, b->n1} are aliased - -Before statement break; : - {x, tmp} are aliased - -Before statement (*n) ++; : - -Before statement f1(a); : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased -{a->n1, b->n1} are aliased -{a->n2, b->n2} are aliased - -Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; : - {x, tmp} are aliased - -Before statement f2(b); : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased -{a->n1, b->n1} are aliased -{a->n2, b->n2} are aliased - -Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; : - {x, tmp} are aliased - -Before statement __retres = 0; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased -{a->n1, b->n1} are aliased -{a->n2, b->n2} are aliased - -Before statement idx ++; : - {x, tmp} are aliased - -Before statement ty *tmp = x; : - -Before statement swap(tmp->n2); : - {x, tmp} are aliased - -Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); : - {x, tmp} are aliased - -Before statement return; : - -Before statement while (1) { - idata = tmp->t2[*(tmp->n2)]; - odata = tmp->t1[*(tmp->n1)]; - idx = 0; - while (idx < 10) { - { - double tmp_1; - tmp_1 = sin(*(idata + idx)); - *(odata + idx) = 0.5 * tmp_1; - } - idx ++; - } - swap(tmp->n1); - } : - {x, tmp} are aliased - -Before statement idata = tmp->t2[*(tmp->n2)]; - odata = tmp->t1[*(tmp->n1)]; - idx = 0; - while (idx < 10) { - { - double tmp_1; - tmp_1 = sin(*(idata + idx)); - *(odata + idx) = 0.5 * tmp_1; - } - idx ++; - } - swap(tmp->n1); : - {x, tmp} are aliased - -Before statement a = (ty *)malloc(sizeof(ty)); : - -Before statement idata = tmp->t2[*(tmp->n2)]; : - {x, tmp} are aliased - -Before statement b = (ty *)malloc(sizeof(ty)); : - -Before statement odata = tmp->t1[*(tmp->n1)]; : - {x, tmp} are aliased - -Before statement i = 0; : - -Before statement idx = 0; : - {x, tmp} are aliased - -Before statement while (i < 2) { - a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); - a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); - i ++; - } : - -Before statement while (idx < 10) { - { - double tmp_1; - tmp_1 = sin(*(idata + idx)); - *(odata + idx) = 0.5 * tmp_1; - } - idx ++; - } : - {x, tmp} are aliased - -Before statement return __retres; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased -{a->n1, b->n1} are aliased -{a->n2, b->n2} are aliased - -Before statement if (! (i < 2)) break; : - -Before statement if (! (idx < 10)) break; : - {x, tmp} are aliased - -Before statement break; : - -Before statement break; : - {x, tmp} are aliased - -Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); - a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); : - -Before statement { - double tmp_1; - tmp_1 = sin(*(idata + idx)); - *(odata + idx) = 0.5 * tmp_1; - } : - {x, tmp} are aliased - -Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); : - -Before statement tmp_1 = sin(*(idata + idx)); - *(odata + idx) = 0.5 * tmp_1; : - {x, tmp} are aliased - -Before statement a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); : - -Before statement tmp_1 = sin(*(idata + idx)); : - {x, tmp} are aliased - -Before statement i ++; : - -Before statement *(odata + idx) = 0.5 * tmp_1; : - {x, tmp} are aliased - -Before statement a->n1 = (int *)malloc(sizeof(int)); : - -Before statement idx ++; : - {x, tmp} are aliased - -Before statement a->n2 = (int *)malloc(sizeof(int)); : - -Before statement swap(tmp->n1); : - {x, tmp} are aliased - -Before statement *(a->n1) = 1; : - -Before statement *(a->n2) = 1; : - -Before statement i = 0; : - -Before statement ty *tmp = x; : - -Before statement while (i < 2) { - b->t1[i] = a->t1[i]; - b->t2[i] = a->t2[i]; - i ++; - } : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); : - {x, tmp} are aliased - -Before statement while (1) { - idata = tmp->t1[*(tmp->n1)]; - odata = tmp->t2[*(tmp->n2)]; - idx = 0; - while (idx < 10) { - *(odata + idx) = (double)3 * *(idata + idx) + (double)1; - idx ++; - } - swap(tmp->n2); - } : - {x, tmp} are aliased - -Before statement if (! (i < 2)) break; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement idata = tmp->t1[*(tmp->n1)]; - odata = tmp->t2[*(tmp->n2)]; - idx = 0; - while (idx < 10) { - *(odata + idx) = (double)3 * *(idata + idx) + (double)1; - idx ++; - } - swap(tmp->n2); : - {x, tmp} are aliased - -Before statement break; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement idata = tmp->t1[*(tmp->n1)]; : - {x, tmp} are aliased - -Before statement b->t1[i] = a->t1[i]; - b->t2[i] = a->t2[i]; : - {a->t1[0], b->t1[0]} are aliased -{a->t2[0], b->t2[0]} are aliased - -Before statement odata = tmp->t2[*(tmp->n2)]; : - {x, tmp} 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: nan +[alias] May-aliases at the end of function nan: +[alias] analysing function: nanf +[alias] May-aliases at the end of function nanf: +[alias] analysing function: nanl +[alias] May-aliases at the end of function nanl: +[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: pow +[alias] May-aliases at the end of function pow: +[alias] analysing function: powf +[alias] May-aliases at the end of function powf: +[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: round +[alias] May-aliases at the end of function round: +[alias] analysing function: roundf +[alias] May-aliases at the end of function roundf: +[alias] analysing function: roundl +[alias] May-aliases at the end of function roundl: +[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: sin +[alias] May-aliases at the end of function sin: +[alias] analysing function: sinf +[alias] May-aliases at the end of function sinf: +[alias] analysing function: sinl +[alias] May-aliases at the end of function sinl: +[alias] analysing function: sqrt +[alias] May-aliases at the end of function sqrt: +[alias] analysing function: sqrtf +[alias] May-aliases at the end of function sqrtf: +[alias] analysing function: sqrtl +[alias] May-aliases at the end of function sqrtl: +[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: swap +[alias] May-aliases at the end of function swap: +[alias] analysing function: system +[alias] May-aliases at the end of function system: +[alias] analysing function: tan +[alias] May-aliases at the end of function tan: +[alias] analysing function: tanf +[alias] May-aliases at the end of function tanf: +[alias] analysing function: tanl +[alias] May-aliases at the end of function tanl: +[alias] analysing function: trunc +[alias] May-aliases at the end of function trunc: +[alias] analysing function: truncf +[alias] May-aliases at the end of function truncf: +[alias] analysing function: truncl +[alias] May-aliases at the end of function truncl: +[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: