On Sun, Jun 27, 2010 at 02:56:33PM +0300, Nikos Chantziaras wrote:
> On 06/27/2010 01:47 PM, Enrico Weigelt wrote:
> > * Nikos Chantziaras<[email protected]>  schrieb:
> >
> >> Did it actually occur to anyone that warnings are not errors?  You can
> >> have them for correct code.  A warning means you might want to look at
> >> the code to check whether there's some real error there.  It doesn't
> >> mean the code is broken.
> >
> > In my personal experience, most times a warning comes it, the
> > code *is* broken (but *might* work in most situations).
> 
> That's the key to it: most times.  Granted, without -Wall (or any other 
> options that tweaks the default warning level) we can be very sure that 
> the warning is the result of a mistake by the developer.  But with 
> -Wall, many warnings are totally not interesting ("unused parameter") 
> and some even try to outsmart the programmer even though he/she knows 
> better ("taking address of variable declared register").  In that last 
> example, fixing it would even be wrong when you consider the optimizer 
> and the fuzzy meaning of "register" which the compiler is totally free 
> to ignore.

The compiler is not totally free to ignore the register keyword. Both
the C and the C++ standards require that the compiler complain when
taking the address of a register variable. Other compilers will issue a
hard error for it. Fixing the code to not declare the variable as
register would be the correct thing to do.

Make sure you *understand* warnings, and then you can decide whether to
fix the code, if there is anything to fix, or to ignore.

Reply via email to