For the two MAYALIAS in this test case, I think they should be NOALIAS?
This is because c and &b are aliases, and b, z1, z2 are variables declared differently, hence &b, &z1, &z2 cannot be aliases?
Could you advise if my understanding is correct?
// cs_tests/recur8.c
#include "aliascheck.h"
int z1,z2;
void foo(int **p);
void bar(int **a){
int *c, b;
*a = &b;
c = *a;
MUSTALIAS(c,&b);
MAYALIAS(c,&z1); // it should be no-alias if strong updates are enabled
MAYALIAS(c,&z2);
foo(a);
}
void foo(int** p){
p = malloc(10);
*p = &z2;
bar(p);
}
int main(){
int **x, *y;
x = &y;
y = &z1;
foo(x);
}
Hi,
For the two MAYALIAS in this test case, I think they should be NOALIAS?
This is because
c
and&b
are aliases, andb
,z1
,z2
are variables declared differently, hence&b
,&z1
,&z2
cannot be aliases?Could you advise if my understanding is correct?