On Tue, 2009-12-08 at 08:31 -0800, Roland Scheidegger wrote: > Keith, > > I think there might be some slight issue with some of the changes in the > drivers I did. In particular, I was under the impression it would be ok > to do something like > union a_union { > int i; > double d; > }; > int f() { > double d = 3.0; > return ((union a_union *) &d)->i; > }; > but in fact gcc manpage tells me it's not (the example is from gcc 4.4 > manpage) - this site told me this is ok, "casting through a union (2)" > http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html, > I guess it was considered ok in 2006 but not now (though I'm not sure > why not)... I did that in some places because otherwise there's no way > around assigning the value to the union and pass that around instead. > Curiously though, despite the gcc manpage saying the code "might" not be > ok, gcc doesn't warn about it in the places I used it. > Anyway, I'm not sure it's worth bothering with this now, as drivers > could be fixed up without any interface changes.
Is it a lot of extra work to fix? I wouldn't mind getting on top of this once and for all. Keith ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev