------- Comment #8 from sigra at home dot se 2006-01-18 19:29 ------- > On Jan 18, 2006, at 11:19 AM, pcarlini at suse dot de wrote: > > > ------- Comment #4 from pcarlini at suse dot de 2006-01-18 16:19 > > ------- > > (In reply to comment #3) > >> const does nothing when it comes to local variables except for not > >> letting you > >> touch it in other expressions. It does nothing for optimizations or > >> anything > >> else. > > > > This last point is not obvious at all, in my opinion. Why not? In > > principle, > > certainly const-ness *can* help optimizers one way or the other. Is > > this just a > > current limitation? A design choice? Anything in the standard making > > that > > tricky? I would like to know more. > > > int f(const int *a, int *b) > { > *b = 1; > return *a; > } > > a and b can alias and there is no way around that at all because that is > what the C++ standard says.
In this case the compiler should warn because a could be declared "const int * const" and b could be declared "int * const". -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25845