aliasing between const and non-const objects
Michael Matz
matz@suse.de
Tue Jul 29 16:57:00 GMT 2003
Hi,
On Tue, 29 Jul 2003, Richard Earnshaw wrote:
> Incorrect. External code could quite legitimately be:
Hmm, right. I'm obviously blind and barking up the wrong tree :-|
> foo()
> {
> int a[5];
>
> t = a; c = a;
You'll get a warning for the latter assignment, though. Nevethess you are
right. I should have provided a more complete example:
int *t;
const int data[3] = {0, 1, 2};
const int *c;
bla() {
c = data;
t[0] = c[0] + c[1] + c[2];
t[1] = c[0] + c[1] + c[2];
}
Ok, that seems more an issue for memrefs_conflict_p() and friends.
Ciao,
Michael.
More information about the Gcc
mailing list