This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> It looks like this will not work for > > int *i; > float *f (can alias all); > *i = 1; > *f = 2; > return *i; > > because aliasing will have > > # VDEF<SMT.int> > *i = 1; > # VDEF<SMT.can_alias_all> > *f = 2; > # VUSE<SMT.int> > return *i; > > And we happily propagate the 1 to the return statement. no? I.e. the > can_alias_all will only alias theirself, not everything. > > Or am I missing something?
The assignment between f and i somewhere?
f = (float *)i;
It was just illustration ;) Make it two incoming parameters to a function, the assignment being in the caller. At least it looks fragile to me.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |