Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ongoing rump udf build failure - and strict-aliasing warnings generally



On Fri, Jul 18, 2008 at 06:40:22PM +0300, Antti Kantee wrote:
> On Fri Jul 18 2008 at 17:40:05 +0300, Antti Kantee wrote:
> > > 
> > > /home/NetBSD/HEAD/src/sys/fs/udf/udf_allocation.c:1568: warning: 
> > > dereferencing type-punned pointer will break strict-aliasing rules
> > > 
> > > In the course of investigating this, I was concerned to learn that we
> > > seem to have disabled this warning for the kernel generally.  This
> > > leads to these kinds of problems creeping in undetected, until they
> > > crawl out from under that rock when built separately like this.  
> > 
> > I know you can "fix" these by casting to (void *) instead of (foo **),
> > but nobody has ever succesfully been able to explain to me a) what the
> > warning really really means and b) how to really fix it.
> 
> Long discussion ensued offline.  Thanks to the help of simon, apb,
> martin et al, the conclusion was that this warning is bad (mm'kay) and
> you should not randomly squelch it with void * casts since it breaks
> caching assumptions that the compiler is allowed to make.  

That's all very well, and "bad, mm'kay" is about as much sense as that
cryptic error message makes anyway.

Therefore, surely it seems therefore that one should *also* not
squelch it with blanket -Wno-* options either.  So, do we have a brave
volunteer who knows what he's doing to squelch them properly?

--
Dan.

Attachment: pgpvXkHcHY2q6.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index