------- Comment #12 from gdr at cs dot tamu dot edu  2006-01-18 20:33 -------
Subject: Re:  want optional warning for non-constant declarations that could be
constant

"sigra at home dot se" <[EMAIL PROTECTED]> writes:

| ------- 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".

It does not make any sense to require the compiler to give a warning
in that case. 

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25845

Reply via email to